К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как открыть отладчик 1С: запуск, настройка и подключение к сеансу

Разбираем, как открыть отладчик 1С в конфигураторе и предприятии, включить отладку на сервере, подключиться к сеансу и поставить точку останова.

Отладчик — встроенный инструмент платформы 1С, который позволяет выполнять код по шагам, смотреть значения переменных и находить ошибки в алгоритмах. Он доступен из конфигуратора и не требует установки дополнительных программ, однако для отладки клиент-серверных баз нужно заранее включить режим отладки на сервере. Без этого шага отладчик просто не увидит запущенные сеансы.

Чаще всего отладку открывают двумя способами: запускают базу прямо из конфигуратора в режиме «1С:Предприятие» с автоматическим подключением отладчика либо подключаются к уже работающему сеансу пользователя через пункт «Отладка — Подключение». Первый вариант удобен для проверки своих доработок, второй — когда ошибку нужно воспроизвести в живом сеансе конкретного пользователя.

Важно понимать ограничения: для отладки нужны права на конфигуратор и соответствующие права в информационной базе, а отладка HTTP-сервисов, фоновых заданий и внешних соединений настраивается отдельно. Ниже разобраны все сценарии — от простого запуска до тонких настроек сервера.

Что нужно проверить перед запуском отладчика

Прежде чем открывать отладку, убедитесь, что у вас есть доступ к конфигуратору нужной базы. Если база работает в монопольном режиме у другого пользователя или конфигуратор заблокирован обновлением, войти не получится. Также проверьте, что ваша учётная запись имеет право «Администрирование» или хотя бы доступ к конфигуратору — без этого пункты отладки будут недоступны.

Второе условие — тип базы. Файловая база отлаживается сразу, без дополнительной настройки. Клиент-серверная база требует, чтобы агент сервера 1С был запущен с ключом отладки. Если вы не администрируете сервер самостоятельно, уточните у администратора, включён ли режим отладки, иначе список сеансов для подключения будет пустым.

Третий момент — версия платформы. Отладчик конфигуратора должен соответствовать версии платформы, под которой запущено приложение. Если пользователи работают под одной версией, а конфигуратор открыт под другой, подключение к сеансу завершится ошибкой.

Доступ к конфигураторуВход выполняется без ошибок

Права учётной записи и отсутствие блокировок базы

Тип базыФайловая или клиент-серверная

Для серверной нужен ключ -debug на агенте сервера

Версия платформыСовпадает у конфигуратора и сеанса

Иначе подключение к предмету отладки невозможно

Как открыть отладчик через запуск из конфигуратора

Самый простой способ — запустить базу в режиме отладки напрямую из конфигуратора. Откройте конфигуратор нужной базы, авторизуйтесь и нажмите клавишу F5 или выберите в меню «Отладка — Начать отладку». Платформа запустит «1С:Предприятие» и автоматически подключит отладчик к этому сеансу.

Если нужно запустить сеанс под другим пользователем или с особыми параметрами, используйте пункт «Отладка — Параметры запуска» либо настройку «Сервис — Параметры», где задаётся вид клиента (тонкий, толстый, веб-клиент) и параметры командной строки. Это удобно, когда ошибка воспроизводится только в тонком клиенте или только под определённой ролью.

После запуска откройте в конфигураторе нужный модуль, поставьте точку останова кликом по левому полю строки или клавишей F9 и выполните в запущенном приложении действие, которое вызывает этот код. Выполнение остановится на точке, и вы сможете пошагово пройти алгоритм клавишами F10 (шаг через), F11 (шаг внутрь) и Shift+F11 (шаг наружу).

Запуск отладки из конфигуратора
  1. 1
    Откройте конфигуратор и авторизуйтесь в базе
  2. 2
    Нажмите F5 или выберите «Отладка — Начать отладку»
  3. 3
    Дождитесь запуска сеанса 1С:Предприятие
  4. 4
    Откройте нужный модуль и поставьте точку останова (F9)
  5. 5
    Выполните в приложении действие, вызывающее код
  6. 6
    Пройдите код по шагам и проверьте значения переменных

Как подключить отладчик к уже работающему сеансу

Если пользователь уже работает в базе и ошибка возникает именно в его сеансе, перезапускать приложение не обязательно. В конфигураторе откройте меню «Отладка — Подключение». Появится окно со списком доступных предметов отладки — сеансов, фоновых заданий и внешних соединений, запущенных на этом сервере или в этой файловой базе.

Найдите в списке нужный сеанс по имени пользователя, типу клиента и времени начала, отметьте его и нажмите «Подключить». Если сеанс запущен без разрешения отладки, его в списке не будет — тогда пользователю нужно перезапустить приложение с параметром, разрешающим отладку, либо администратор включает её на уровне сервера.

Обратите внимание на флажок «Искать предметы отладки на удалённых компьютерах» и настройку сервера отладки в окне подключения. В распределённой инфраструктуре с несколькими рабочими серверами сеанс может находиться не на том узле, к которому подключён конфигуратор, и его придётся искать через правильный адрес сервера отладки.

Включение отладки на сервере 1С

В клиент-серверном варианте серверный код отлаживается только если агент сервера 1С запущен в режиме отладки. Для этого службу агента сервера запускают с параметром -debug в строке запуска. На Windows параметр добавляется в реестре в параметрах службы «Агент сервера 1С:Предприятия», после чего службу перезапускают.

После перезапуска службы с ключом отладки серверные вызовы становятся видимыми отладчику. Учтите, что включённый режим отладки несколько снижает производительность сервера, поэтому на продуктивных системах его обычно включают временно — на период поиска проблемы, а затем выключают.

Для отладки через веб-сервер (тонкий клиент, веб-клиент, HTTP-сервисы) дополнительно проверьте публикацию базы: в настройках публикации должен быть разрешён режим отладки, иначе отладчик не сможет установить соединение с сервером отладки через веб-сервер.

Отладка фоновых заданий, веб-сервисов и внешних соединений

Фоновые задания выполняются в отдельных сеансах и не подключаются к отладчику автоматически. Чтобы их отладить, откройте «Отладка — Подключение» и дождитесь, пока фоновое задание появится в списке предметов отладки, либо временно замените фоновый вызов на синхронный в тестовой базе — так проще воспроизвести логику.

HTTP-сервисы и веб-сервисы отлаживаются через подключение к сеансу, который создаётся при обращении к сервису. В свойствах сервиса в конфигураторе можно включить автоматическое подключение отладчика: установите соответствующий флажок в палитре свойств объекта, и при следующем вызове сервиса выполнение остановится на точке останова в вашем конфигураторе.

Внешние соединения (COM, Automation) отлаживаются аналогично — через список предметов отладки. Главное условие остаётся тем же: соединение должно быть запущено с разрешением отладки, а сервер — в режиме отладки.

Маршрут решения

Как выбрать способ отладки

Ошибка воспроизводится у вас при обычной работеЗапустите базу из конфигуратора клавишей F5
Ошибка только у конкретного пользователя в его сеансеПодключитесь к его сеансу через «Отладка — Подключение»
Код выполняется в фоновом задании или регламентеИщите задание в списке предметов отладки или замените на синхронный вызов в копии
Код выполняется на сервере в клиент-серверной базеПроверьте, что агент сервера запущен с ключом -debug

Точки останова и проверка работы отладчика

Точка останова ставится кликом по серой полосе слева от строки кода или клавишей F9. Красный кружок означает активную точку. Можно задать точку с условием — правый клик по ней, «Условие останова»: выполнение остановится, только когда выражение истинно. Это незаменимо внутри циклов, где останавливаться на каждой итерации неудобно.

Проверить, что отладчик реально работает, просто: поставьте точку останова в обработчике, который точно выполняется (например, «ПриОткрытии» формы), и выполните действие. Если выполнение остановилось и внизу конфигуратора появились панели стека вызовов и значений переменных — отладка функционирует. Если точка останова «проскакивается», значит, исполняется другой код, другой сеанс не подключён или отладка на сервере не включена.

Для просмотра значений используйте табло (Shift+F9): добавьте туда переменные и выражения, и их значения будут обновляться на каждом шаге. Для быстрой оценки одного выражения достаточно выделить его и нажать Shift+F9 или посмотреть всплывающую подсказку при наведении курсора.

Контрольные точки

Как проверить результат

Срабатывание точки останова
Норма

Выполнение останавливается, строка подсвечена жёлтым

Тревожный признак

Точка игнорируется — сеанс не подключён или код не исполняется

Список предметов отладки
Норма

Видны активные сеансы базы

Тревожный признак

Список пуст — отладка на сервере не включена

Значения в табло
Норма

Переменные показывают актуальные значения

Тревожный признак

Ошибка вычисления — выражение недоступно в текущем контексте

Частые ошибки при открытии отладчика

Наиболее распространённая проблема — пустой список предметов отладки в клиент-серверной базе. Причина почти всегда в том, что агент сервера запущен без ключа -debug. Вторая по частоте — несовпадение версий платформы: конфигуратор одной версии не подключается к сеансу, запущенному под другой.

Ещё одна типичная ситуация — точка останова стоит в клиентском модуле, а код фактически исполняется на сервере, или наоборот. Проверяйте директивы компиляции (&НаКлиенте, &НаСервере) и убедитесь, что отладчик подключён к тому типу сеанса, где реально выполняется код.

Наконец, не забывайте, что остановленный на точке сеанс блокирует транзакции и может держать блокировки данных. Долгая отладка в продуктивной базе способна остановить работу других пользователей, поэтому сложные исследования лучше переносить в копию базы.

Типичные ошибки
01
Отладка серверного кода без ключа -debug на агенте — список сеансов пуст
02
Конфигуратор и сеанс под разными версиями платформы — подключение невозможно
03
Точка останова не в том контексте (клиент вместо сервера) — код «проскакивает»
04
Долгая остановка сеанса в продуктивной базе — блокировки мешают другим пользователям
05
Попытка отладить фоновое задание без подключения к его сеансу — точки не срабатывают
Итог

Что важно запомнить

Отладчик открывается из конфигуратора: F5 запускает новый сеанс с отладкой, «Отладка — Подключение» подключается к работающим сеансам. Для клиент-серверных баз заранее включите отладку на сервере, следите за совпадением версий платформы и не задерживайте остановленные сеансы в продуктивной базе.

Частые вопросы

Почему в списке подключения нет ни одного сеанса?

Чаще всего агент сервера 1С запущен без параметра -debug, либо конфигуратор подключён к другому кластеру серверов. Проверьте строку запуска службы агента и адрес сервера отладки в окне подключения.

Можно ли открыть отладчик без конфигуратора?

Нет, отладчик — часть конфигуратора. Но сеанс пользователя можно запустить с разрешением отладки через параметр командной строки, а подключиться к нему позже из конфигуратора на той же или другой машине.

Как отладить код, который выполняется только на сервере?

Включите режим отладки на агенте сервера, затем подключитесь к сеансу через «Отладка — Подключение» и поставьте точку останова в серверной процедуре. Без ключа -debug серверный код отладчику недоступен.

Почему точка останова не срабатывает, хотя код точно выполняется?

Проверьте, что отладчик подключён именно к тому сеансу, где исполняется код, что точка стоит в нужном контексте (клиент или сервер) и что конфигурация базы данных обновлена — иначе исполняется старая версия кода.

Опасно ли отлаживать продуктивную базу?

Сама по себе отладка данных не меняет, но остановленный сеанс может удерживать транзакционные блокировки и мешать другим пользователям. Для длительного анализа безопаснее использовать копию базы.

Как остановить отладку и отключиться от сеанса?

Нажмите Shift+F5 или выберите «Отладка — Завершить» — выполнение продолжится, а отладчик отключится. Также можно снять все точки останова и продолжить выполнение клавишей F5.