Запуск 1С в режиме отладки: как включить отладку на сервере и в Конфигураторе
В режиме «1С:Предприятие» возникает непонятная ошибка, но при попытке поймать ее в Конфигураторе через меню Отладка → Остановка по ошибке программа не останавливается на проблемной строке кода.
- Точки останова в модулях с признаком «НаСервере» не срабатывают.
- Конфигуратор не видит подключенных клиентских и серверных сеансов.
- На сервере 1С служба запущена без специального флага
-debug.
Шаг 1. Включение режима отладки на сервере 1С (Windows)
- Нажмите сочетание клавиш
Win + R, введитеregeditи нажмите Enter. - Перейдите по пути реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent... - Найдите параметр ImagePath и дважды кликните по нему.
- В строке запуска в самый конец добавьте через пробел ключ
-debug(или-http -debugдля протокола HTTP):"C:\Program Files\1cv8\8.3.23.1865\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug - Откройте
services.msc(Службы) и перезапустите службу Агент сервера 1С:Предприятия 8.3.
Шаг 2. Включение отладки на сервере 1С (Linux)
- Откройте файл конфигурации службы (например,
/etc/systemd/system/srv1cv83.serviceили/opt/1cv8/current/srv1cv83.conf). - В параметре
SRV1CV8_DEBUGукажите значение1. - Выполните перезапуск:
systemctl daemon-reload systemctl restart srv1cv83
Шаг 3. Запуск отладки в Конфигураторе
- Откройте базу в Конфигураторе.
- В верхнем меню перейдите в Отладка → Подключение... → убедитесь, что в списке доступных предметов отладки появились серверные сеансы.
- В меню Отладка нажмите Остановка по ошибке → поставьте галочку «Останавливаться по ошибке».
- Запустите предприятие по клавише F5 и повторите ошибочное действие. Конфигуратор подсветит сбойную строку желтым маркером.
Частые вопросы (FAQ)
Почему при установке точки останова она перечеркнута крестиком?
Это означает, что данный модуль исполняется на сервере, а служба сервера 1С запущена без параметра -debug, либо исполняемый код конфигурации отличается от открытого в конфигураторе.
Влияет ли включенный флаг -debug на скорость работы базы?
Да, постоянная работа в режиме отладки немного увеличивает накладные расходы на обмен трафиком и память. В высоконагруженных промышленных базах отладку включают временно для поиска бага.
Как посмотреть значение переменной в момент остановки?
Выделите имя переменной в коде и нажмите сочетание клавиш Shift + F9 (команда 'Вычислить выражение').
Что такое отладка по протоколу HTTP?
Это современный механизм отладки (начиная с 8.3.7), который работает через TCP/HTTP порт и позволяет программисту легко отлаживать серверный код через маршрутизаторы и интернет без прямого доступа к портам кластера.