Разработка и Конфигурация · 10 мин
Как включить отладчик 1С: настройка и запуск отладки
Как включить отладчик 1С в конфигураторе и тонком клиенте: настройка отладки по HTTP и TCP, запуск сервера отладки, точки останова и типичные ошибки.
Отладчик 1С — встроенный инструмент конфигуратора, который позволяет пошагово выполнять код, просматривать значения переменных и находить ошибки в программных модулях. Для файловых баз он работает практически «из коробки», а для клиент-серверных вариантов и веб-клиента требуется дополнительная настройка сервера отладки.
Перед началом работы важно понимать, что отладка в 1С бывает двух типов: по протоколу TCP (классический вариант) и по протоколу HTTP (современный, используется по умолчанию в новых версиях платформы). От выбранного протокола зависят настройки и порты, через которые конфигуратор подключается к отлаживаемому приложению.
Ниже разобраны все основные сценарии: включение отладки в конфигураторе, настройка сервера 1С для клиент-серверного режима, отладка тонкого и веб-клиента, а также типичные проблемы, когда предметы отладки не подключаются.
Что нужно проверить перед включением отладки
Отладка возможна только при наличии у пользователя права «Отладка» в конфигураторе. Если конфигурация закрыта от изменений или пользователь работает под ограниченной ролью, пункты меню отладки могут быть недоступны. Проверьте права через «Администрирование» → «Пользователи» в конфигураторе.
Второе условие — совпадение версий платформы. Конфигуратор, из которого ведётся отладка, и клиентское приложение (или сервер) должны работать на одной версии платформы 1С:Предприятие. Несовпадение версий — одна из самых частых причин, когда предметы отладки не видны в списке подключения.
Третий момент — тип информационной базы. Для файловой базы никакой дополнительной настройки сервера не нужно: отладчик работает внутри того же процесса. Для клиент-серверной базы отладка серверного кода требует запуска агента сервера с ключом отладки, о чём рассказано ниже.
Как включить отладку в конфигураторе для файловой базы
Самый простой сценарий — файловая информационная база. Откройте конфигуратор, авторизуйтесь под пользователем с правами на отладку и перейдите в меню «Отладка». Здесь доступны два основных действия: «Начать отладку» (клавиша F5) и «Подключение» для присоединения к уже запущенному сеансу.
При нажатии F5 конфигуратор запускает клиентское приложение в режиме отладки: открывается тонкий или толстый клиент (в зависимости от настроек), и выполнение кода можно контролировать. Установите точку останова клавишей F9 на нужной строке модуля — выполнение остановится на ней, и вы сможете посмотреть значения переменных через «Вычислить выражение» (Shift+F9) или табло (Ctrl+Alt+W).
Если приложение уже запущено, используйте «Отладка» → «Подключение». В открывшемся окне появится список доступных предметов отладки — сеансов текущей базы. Отметьте нужный флажком и нажмите «Подключить». После этого точки останова начнут срабатывать в выбранном сеансе.
- 1Откройте конфигуратор под пользователем с правом «Отладка»
- 2Установите точку останова (F9) в нужном модуле
- 3Нажмите F5 («Начать отладку») или подключитесь к запущенному сеансу
- 4Воспроизведите в клиенте действие, вызывающее код
- 5Проверьте значения переменных через «Вычислить выражение»
- 6Завершите отладку через «Отладка» → «Завершить»
Настройка протокола отладки: HTTP или TCP
Начиная с современных версий платформы, по умолчанию используется отладка по протоколу HTTP. Она удобнее для работы через брандмауэры и требует меньше открытых портов. Классический вариант — отладка по TCP — сохраняется для совместимости и в некоторых сценариях работает быстрее в локальной сети.
Выбор протокола выполняется в конфигураторе: «Сервис» → «Параметры» → вкладка «Отладка». Здесь же задаётся диапазон портов отладки. Важно, чтобы выбранный протокол совпадал с настройкой на стороне сервера: если сервер запущен с отладкой по HTTP, а конфигуратор настроен на TCP, предметы отладки не появятся.
При работе через HTTP-отладку конфигуратор обращается к серверу через тот же порт, что и обычные соединения кластера, что упрощает настройку сети. Для TCP-отладки нужно открыть диапазон портов, указанный в параметрах конфигуратора, на машине, где запущен конфигуратор, и на сервере.
Сравнение протоколов отладки
Подходит для серверных баз и работы через межсетевые экраны; использует порт кластера, настройка сети минимальна. Требует современной версии платформы.
Подходит для локальных сетей и старых версий платформы. Требует открытия диапазона портов отладки на клиенте и сервере; при неправильной настройке брандмауэра предметы отладки не видны.
Включение отладки на сервере 1С
Для клиент-серверной базы код, выполняющийся на сервере (серверные процедуры, фоновые задания, web-сервисы), отлаживается только если агент сервера запущен с ключом отладки. Без этого в списке предметов отладки будут видны только клиентские сеансы.
На Windows откройте реестр и найдите параметр ImagePath службы агента сервера 1С (например, в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent). Добавьте в строку запуска ключ -debug, а для HTTP-отладки — дополнительно -debugProtocol http. После изменения перезапустите службу агента сервера.
На Linux ключ -debug добавляется в скрипт запуска агента сервера (srv1cv8 или соответствующий unit-файл systemd). После правки перезапустите службу командой systemctl restart. Проверить, что отладка включена, можно по списку предметов отладки в конфигураторе: должны появиться серверные процессы.
ragent.exe -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -debugProtocol http -d "C:\Program Files\1cv8\srvinfo"Отладка тонкого клиента, веб-клиента и фоновых заданий
Тонкий клиент отлаживается так же, как и толстый: через F5 из конфигуратора или подключение к запущенному сеансу. Если тонкий клиент подключается к серверной базе, убедитесь, что на сервере включена отладка — иначе серверные вызовы будут выполняться «мимо» точек останова.
Для веб-клиента отладка возможна при подключении через «Отладка» → «Подключение»: в списке предметов отладки появится сеанс веб-клиента. Дополнительно в браузере может потребоваться разрешить всплывающие окна и не блокировать соединения отладчика. Учтите, что отладка веб-клиента работает медленнее и поддерживается не во всех браузерах одинаково стабильно.
Фоновые задания — отдельный случай: они не запускаются автоматически при начале отладки. Чтобы отладить фоновое задание, запустите отладку, затем через «Отладка» → «Подключение» выберите в списке процесс фонового задания. Если задание отрабатывает слишком быстро, временно добавьте в код паузу или запустите задание вручную после подключения.
Автоматическое подключение предметов отладки
Чтобы не подключать предметы отладки вручную каждый раз, в настройках отладки («Отладка» → «Подключение» → кнопка настройки или «Сервис» → «Параметры») включите автоматическое подключение нужных типов: клиент, сервер, фоновые задания, HTTP-сервисы. Это особенно удобно при отладке обменов и регламентных операций.
Что делать, если предметы отладки не видны
Если список подключения пуст, проверьте последовательно: совпадает ли версия платформы конфигуратора и клиента, включён ли ключ -debug на сервере, одинаковый ли протокол отладки выбран на обеих сторонах. Эти три причины покрывают большинство случаев «невидимых» сеансов.
Для TCP-отладки дополнительно проверьте сетевые настройки: брандмауэр Windows или антивирус может блокировать порты отладки. Временно отключите фильтрацию или добавьте правила для диапазона портов, указанного в параметрах конфигуратора. Также убедитесь, что конфигуратор и клиент запущены в одной сети без блокирующих прокси.
Ещё одна типичная ситуация — отладка работает, но точки останова не срабатывают. Причины: код выполняется на сервере, а подключён только клиентский сеанс; модифицированный модуль не сохранён или конфигурация базы данных не обновлена; точка стоит в строке, которая фактически не выполняется (например, внутри невыполняющегося условия).
Как проверить результат
Видны сеансы клиента и серверные процессы
Список пуст или виден только клиент
Выполнение останавливается, доступны значения переменных
Код выполняется без остановки
Ключ -debug удалён, служба перезапущена в штатном режиме
Отладка осталась включённой на рабочем сервере
FAQ: частые вопросы по отладчику 1С
Можно ли отлаживать код без остановки работы пользователей?
Да, если отладка уже включена на сервере — подключение отладчика к конкретному сеансу не мешает остальным. Но само включение отладки требует перезапуска службы агента сервера, что разрывает все сеансы. Поэтому на продуктивном контуре лучше заранее держать тестовую копию базы.
Почему точка останова отображается с восклицательным знаком?
Такой значок означает, что точка не может сработать: модуль изменён после запуска сеанса, конфигурация базы данных не обновлена или строка находится в недостижимой ветке кода. Сохраните модуль, обновите конфигурацию БД (F7) и перезапустите отладку.
Как отладить код, который выполняется при старте системы?
Установите точку останова в модуле сеанса или модуле приложения, затем запустите отладку через F5 — клиент стартует уже под отладчиком, и код начальной инициализации выполнится с остановками. Подключение к уже запущенному сеансу для этого случая не подойдёт.
Работает ли отладчик в базовых версиях 1С?
В базовых версиях платформы отладка не поддерживается — это одно из лицензионных ограничений базовой поставки. Для разработки и поиска ошибок потребуется версия ПРОФ или выше.
Как отладить HTTP-сервис или web-сервис 1С?
Включите отладку на сервере с ключом -debug, в настройках автоматического подключения отметьте тип «HTTP-сервисы», затем отправьте запрос к сервису. Выполнение остановится на точке останова в модуле сервиса. Учтите, что публикация сервиса на веб-сервере должна быть выполнена с актуальной конфигурацией.
Что делать, если отладка сильно тормозит работу?
Сократите количество автоматически подключаемых предметов отладки, уберите лишние точки останова и условные точки с тяжёлыми выражениями. После завершения исследования обязательно выключите отладку на сервере — постоянная работа с ключом -debug замедляет кластер даже без подключённого конфигуратора.
Что важно запомнить
Для файловой базы достаточно нажать F5 в конфигураторе. Для клиент-серверной — добавить -debug в запуск агента сервера и согласовать протокол (HTTP или TCP) на обеих сторонах. Проверяйте версии платформы и права на отладку, а после работы отключайте отладку на сервере, чтобы не снижать производительность.