Разработка и Конфигурация · 10 мин
Как отменить отладку в 1С
Как отключить отладку в 1С: снятие точек останова, настройка конфигуратора и сервера, отключение отладки HTTP-сервисов и веб-клиента. Пошаговая инструкция.
Отладка в 1С — полезный инструмент разработчика, но включённая постоянно она замедляет работу системы, увеличивает нагрузку на сервер и может мешать пользователям. Отменить отладку можно на нескольких уровнях: снять точки останова, отключить отладку в конфигураторе, выключить отладочный режим на сервере 1С или в службе агента сервера.
Способ отключения зависит от того, где именно включена отладка: в файловой базе, в клиент-серверном варианте, для HTTP-сервисов или в веб-клиенте. Ниже разобраны все типовые сценарии с точными действиями и проверкой результата.
Снятие точек останова и завершение сеанса отладки
Самая частая ситуация — отладка запущена в конфигураторе, и программа останавливается на точках останова. Чтобы это прекратить, откройте конфигуратор и перейдите в меню «Отладка». Здесь доступны два разных действия: «Удалить все точки останова» снимает все установленные метки, а «Завершить» полностью останавливает текущий сеанс отладки.
Если отладчик подключён к запущенному клиентскому приложению, команда «Отладка → Отключиться» отсоединит конфигуратор от предмета отладки, не закрывая само приложение пользователя. Это удобно, когда нужно прекратить слежение, но не прерывать работу сотрудника.
Точки останова сохраняются между сеансами конфигуратора. Если вы закрыли конфигуратор, не сняв их, при следующем запуске отладки программа снова остановится в тех же местах. Поэтому перед завершением работы имеет смысл удалить все точки останова, чтобы не забыть об этом позже.
- 1Откройте конфигуратор и меню «Отладка»
- 2Выберите «Удалить все точки останова»
- 3Выполните «Отладка → Отключиться», если отладчик подключён к приложению
- 4Завершите сеанс отладки командой «Отладка → Завершить»
- 5Проверьте, что приложение работает без остановок
Отключение автоматического подключения предметов отладки
Иногда отладка «включается сама»: конфигуратор автоматически подключается к сеансам пользователей или фоновым заданиям. Причина — настройки подключения. Откройте «Отладка → Подключение» и проверьте вкладку «Автоматическое подключение».
Снимите флажки с типов предметов отладки, которые не нужно отслеживать: «Клиент», «Фоновое задание», «HTTP-сервис», «Web-сервис» и другие. После этого конфигуратор перестанет автоматически цепляться к новым сеансам, и пользователи не будут замечать подвисаний при старте отладчика.
Также проверьте настройку «Сервис → Параметры → Отладка»: там задаётся протокол отладки (по TCP или по HTTP) и режим использования. Если конфигуратор настроен искать предметы отладки на сервере, а отладка больше не нужна, эти параметры можно оставить — они не влияют на работу пользователей, пока нет активного подключения.
Как отключить отладку на сервере 1С
В клиент-серверном варианте отладка включается параметром запуска службы агента сервера 1С — ключом -debug. Чтобы отменить отладку на сервере, этот ключ нужно убрать из параметров службы и перезапустить её.
На Windows откройте редактор реестра и найдите ветку службы агента сервера (обычно HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent с указанием порта). В параметре ImagePath удалите фрагмент -debug (вместе с -http, если он добавлялся для HTTP-отладки и больше не нужен). Затем перезапустите службу через оснастку «Службы».
На Linux параметры запуска обычно задаются в скрипте запуска или unit-файле systemd. Отредактируйте соответствующий файл, уберите ключ -debug и перезапустите службу командой systemctl restart с именем службы сервера 1С.
После перезапуска убедитесь, что служба стартовала без ошибок и пользователи могут подключиться к базам. Если служба не запускается, чаще всего причина — случайно повреждённая строка параметров: лишний пробел, удалённый не тот фрагмент или потерянная кавычка.
Отключение отладки в файловой базе и тонком клиенте
В файловом варианте отладка не требует серверных настроек: она работает, пока конфигуратор подключён к клиентскому приложению. Чтобы её отменить, достаточно завершить отладку и отключиться, как описано выше. Никаких ключей реестра или служб здесь нет.
Если клиентское приложение запускалось из конфигуратора кнопкой «Начать отладку», просто закройте сеанс отладки — приложение либо завершится, либо продолжит работать уже без отладчика, в зависимости от выбранного действия.
Для запуска толстого или тонкого клиента вручную с параметром отладки используется ключ командной строки /debug (или /debug -http). Если ярлык пользователя содержит такой ключ, уберите его из свойств ярлыка — иначе приложение будет стартовать в режиме, допускающем подключение отладчика.
Где отключается отладка
Достаточно завершить отладку в конфигураторе и убрать ключ /debug из ярлыка клиента
Требуется убрать ключ -debug из параметров службы агента сервера и перезапустить службу
Отладка отключается на стороне сервера (ключ -debug) и настройками публикации на веб-сервере
Отладка HTTP-сервисов и веб-клиента
Отладка HTTP-сервисов и веб-клиента работает через сервер 1С, поэтому полностью отключается тем же способом — удалением ключа -debug из службы агента. Дополнительно проверьте настройки публикации на веб-сервере: файл default.vrd может содержать элемент debug с атрибутом enable="true".
Откройте файл публикации (обычно он лежит в каталоге публикации на веб-сервере) и установите enable="false" или удалите соответствующий элемент. После правки перезапустите веб-сервер (IIS или Apache), чтобы изменения вступили в силу.
Учтите: отладка по протоколу HTTP требует согласованных настроек на стороне конфигуратора и сервера. Если вы отключили её только в одном месте, конфигуратор просто перестанет находить предметы отладки — это нормальное поведение, а не ошибка.
Как проверить результат
В параметрах нет ключа -debug
Ключ -debug присутствует — сервер всё ещё в отладочном режиме
Сеансы работают без остановок и подвисаний
Приложение останавливается — остались точки останова или активный отладчик
Отладка выключена (enable="false" или элемент отсутствует)
debug enable="true" — HTTP-отладка ещё разрешена
Нет подключённых предметов отладки в окне подключения
Список предметов отладки не пуст — есть активные подключения
Типичные ошибки и ограничения
Частая ошибка — отключить отладчик в конфигураторе и считать, что отладка отменена полностью. На самом деле сервер продолжает работать в отладочном режиме, что снижает производительность и, что важнее, создаёт риск: любой, кто подключится отладчиком, сможет просматривать и изменять данные в оперативной памяти сеансов.
Вторая ошибка — правка реестра без перезапуска службы. Параметры читаются только при старте службы, поэтому без перезапуска изменения не применятся. Обратная ситуация — перезапуск без правки: служба снова стартует с тем же ключом -debug.
Ограничение, о котором стоит помнить: отладка регламентных и фоновых заданий возможна только при включённом отладочном режиме сервера. Если вы отключили отладку на продуктивном сервере, анализировать фоновые задания придётся другими средствами — журналом регистрации и технологическим журналом.
Как выбрать действие
FAQ
Влияет ли включённая отладка на скорость работы 1С?
Да. Сервер, запущенный с ключом -debug, выполняет дополнительные проверки и поддерживает канал связи с отладчиком, что заметно снижает производительность, особенно при большом числе пользователей. На продуктивных системах отладочный режим рекомендуется держать выключенным.
Можно ли отключить отладку без перезапуска сервера?
Серверный отладочный режим отключается только перезапуском службы агента сервера с изменёнными параметрами. Без перезапуска можно лишь отключить отладчик в конфигураторе и снять точки останова — это прекратит остановки, но режим на сервере останется активным.
Почему после отключения отладки конфигуратор всё равно находит предметы отладки?
Если служба сервера не перезапускалась после удаления ключа -debug, режим продолжает работать. Также проверьте, что вы правили параметры именно той службы и того кластера, к которому подключается конфигуратор, — на одном компьютере может быть установлено несколько версий сервера 1С.
Как отменить отладку, если ярлык клиента запускает её автоматически?
Откройте свойства ярлыка и в поле «Объект» удалите ключ /debug и связанные параметры (например, /debuggerURL). После сохранения приложение будет стартовать в обычном режиме, и отладчик к нему не подключится.
Опасно ли оставлять отладку включённой на рабочем сервере?
Да. Помимо потери производительности, отладочный режим позволяет подключившемуся отладчику читать и изменять данные сеансов, включая пароли в оперативной памяти. На продуктивном сервере отладку включают только на время диагностики и сразу выключают.
Как анализировать ошибки, если отладка на сервере выключена?
Используйте журнал регистрации, технологический журнал с настроенными событиями ошибок и воспроизведение проблемы на тестовой копии базы, где отладку можно включить безопасно.
Что важно запомнить
Отмена отладки в 1С выполняется на двух уровнях: в конфигураторе (снять точки останова, завершить и отключить отладку) и на сервере (убрать ключ -debug из параметров службы и перезапустить её). Для HTTP-сервисов дополнительно проверьте default.vrd. Перезапуск службы проводите в нерабочее время, а на продуктивном сервере отладочный режим не держите включённым постоянно.