Разработка и Конфигурация · 8 мин
Как включить режим отладки в 1С
Как включить отладку в 1С: настройка конфигуратора, запуск сервера 1С в режиме debug, подключение предметов отладки, точки останова и решение типичных проблем.
Режим отладки в 1С позволяет пошагово выполнять код, просматривать значения переменных, отслеживать стек вызовов и находить ошибки в прикладных решениях. Включить его можно двумя способами: для файловой базы достаточно настройки в конфигураторе, а для клиент-серверного варианта потребуется перезапуск службы агента сервера 1С с параметром отладки.
Перед началом работы важно понимать, какой у вас вариант развёртывания: файловый или клиент-серверный. От этого зависит вся процедура. Также учитывайте, что на сервере 1С версий 8.3.7 и выше по умолчанию используется протокол отладки по HTTP, а в более ранних версиях — по TCP, и это влияет на настройку.
Отладка не изменяет данные информационной базы сама по себе, но остановка выполнения кода на боевом сервере блокирует сеансы пользователей. Поэтому отлаживать рабочие процессы следует на копии базы или в тестовом контуре.
Определите вариант работы базы: файловый или клиент-серверный
Откройте список информационных баз в стартовом окне 1С и посмотрите строку подключения. Если указан путь к каталогу на диске или сетевой папке — это файловый вариант. Если указан сервер и имя базы на сервере — клиент-серверный.
Файловый вариант не требует никаких серверных настроек: отладка включается только средствами конфигуратора. Клиент-серверный вариант требует, чтобы сервер 1С был запущен в режиме отладки, иначе конфигуратор просто не увидит серверные предметы отладки.
Если база опубликована на веб-сервере и пользователи работают через браузер или тонкий клиент по HTTP, дополнительно проверьте, что в файле default.vrd публикации разрешена отладка (атрибут debug="true" в элементе point).
Включение отладки для файловой базы
Откройте базу в конфигураторе. Перейдите в меню «Сервис» → «Параметры». На вкладке «Запуск 1С:Предприятия» найдите группу настроек отладки и установите вариант запуска с отладкой. В разных версиях платформы пункт может называться «в режиме отладки» или располагаться в разделе «Основные» с выбором протокола отладки.
Для версий платформы 8.3.7 и новее рекомендуется выбрать протокол отладки «по HTTP» — он работает стабильнее через сетевые экраны и не требует открытия отдельного диапазона портов. Для старых версий доступен только протокол TCP.
После этого запустите отладку клавишей F5 или через меню «Отладка» → «Начать отладку». Конфигуратор запустит клиентское приложение, и выполнение кода остановится на установленных точках останова.
- 1Откройте базу в конфигураторе
- 2Сервис → Параметры → Запуск 1С:Предприятия → включите режим отладки
- 3Для платформы 8.3.7+ выберите протокол отладки HTTP
- 4Установите точку останова в нужном модуле (F9)
- 5Нажмите F5 и выполните в клиенте действие, вызывающее код
Включение отладки на сервере 1С
Для клиент-серверного варианта нужно перезапустить службу агента сервера 1С с параметром отладки. Остановите службу «Агент сервера 1С:Предприятия» через оснастку services.msc. Затем запустите её из командной строки с нужными ключами либо измените параметры запуска службы в реестре.
Ключ -debug включает отладку по протоколу TCP. Для платформы 8.3.7 и новее дополнительно укажите -http, чтобы сервер принимал отладочные подключения по HTTP. Путь к исполняемому файлу ragent.exe зависит от версии платформы и разрядности установки.
"C:\Program Files\1cv8\8.3.22.1750\bin\ragent.exe" -debug -httpЧтобы не вводить команду вручную при каждой перезагрузке, откройте ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services и найдите службу агента сервера вашей версии. В параметре ImagePath добавьте ключи -debug -http к существующей строке запуска, сохраните и перезапустите службу.
Подключение предметов отладки
Даже при запущенном в режиме отладки сервере конфигуратор не всегда автоматически подключается к нужным процессам. Откройте меню «Отладка» → «Подключение». В окне отобразятся доступные предметы отладки: клиентские и серверные сеансы, фоновые задания, HTTP-сервисы.
Отметьте флажками нужные предметы и нажмите «Подключить». Если список пуст, проверьте, что сервер запущен с ключом -debug, а в настройках конфигуратора выбран тот же протокол отладки, что и на сервере.
Отладка фоновых заданий и внешних сеансов
Фоновые задания выполняются в отдельных сеансах и не подключаются автоматически. В окне подключения включите автоматическое подключение к фоновым заданиям: тогда при следующем запуске задания конфигуратор захватит его и остановит на точке останова.
Для отладки кода, вызываемого через веб-сервисы или HTTP-сервисы, также используйте окно подключения — сеанс появится в списке после первого обращения к сервису.
Точки останова и основные приёмы отладки
Точка останова ставится кликом по полю слева от строки кода или клавишей F9. Красный кружок означает активную точку. Можно задать условие срабатывания: правый клик по точке → «Условие» — отладчик остановится только когда выражение истинно, что удобно в циклах.
Во время остановки используйте пошаговое выполнение: F11 — шаг с заходом в процедуры, F10 — шаг без захода, Shift+F11 — выполнить до выхода из текущей процедуры. Значения переменных смотрите в табло (Shift+F9) или через «Вычислить выражение».
Окно «Стек вызовов» показывает цепочку процедур, приведшую к текущей строке. Это помогает понять, откуда был вызван проблемный код, особенно в подписках на события и обработчиках.
Проверка результата и решение проблем
Признак успешной настройки: при нажатии F5 клиент запускается, в строке состояния конфигуратора виден режим отладки, а выполнение останавливается на точке останова. В окне подключения отображаются и клиентский, и серверный предметы отладки.
Если отладка не работает, проверьте последовательно: запущена ли служба с ключом -debug (видно в командной строке процесса ragent в диспетчере задач), совпадают ли протоколы, не блокирует ли брандмауэр порты отладки, та ли это версия платформы, для которой менялись параметры службы.
Как проверить результат
В командной строке процесса есть ключи -debug и -http
Ключи отсутствуют — служба запущена в обычном режиме
Видны клиентские и серверные предметы отладки
Список пуст или виден только клиентский сеанс
Выполнение останавливается, строка подсвечена
Точка серая/недоступна — модуль не подключён к отладке
FAQ
Можно ли включить отладку без прав администратора на сервере?
Для файловой базы — да, достаточно прав на запуск конфигуратора. Для клиент-серверного варианта нужны права на перезапуск службы агента сервера 1С, поэтому без административного доступа к серверу включить серверную отладку нельзя.
Почему точка останова отображается серым и не срабатывает?
Серая точка означает, что модуль не загружен в подключённый предмет отладки. Обычно это серверный код при подключённом только клиентском сеансе. Откройте «Отладка → Подключение» и подключите серверные сеансы.
Влияет ли режим отладки на производительность сервера?
Да, запуск сервера с ключом -debug замедляет выполнение кода, а активные остановки блокируют сеансы. После завершения работ рекомендуется вернуть службу к обычному режиму запуска.
Как отладить код, который выполняется при обмене данными или по расписанию?
Такой код обычно выполняется в фоновых заданиях. В окне подключения включите автоматическое подключение фоновых заданий, установите точку останова и дождитесь очередного запуска задания — конфигуратор захватит сеанс автоматически.
Что делать, если база работает через веб-сервер?
Проверьте, что в файле default.vrd публикации в элементе point установлен атрибут debug="true", а сервер 1С запущен с ключом отладки. Затем подключайте предметы отладки через стандартное окно подключения в конфигураторе.
Что важно запомнить
Для файловой базы отладка включается в параметрах конфигуратора, для клиент-серверной — перезапуском службы агента сервера с ключами -debug и -http. Протоколы отладки на клиенте и сервере должны совпадать, серверные сеансы подключаются через «Отладка → Подключение». Не проводите отладку на боевом сервере в рабочее время.