Отладчик

Общее
Использование Отладчика
Выполнение отладки

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

  • возможность отладки клиентских и серверных приложений, внешних соединений, как в файловом, так и в клиент-серверном режиме, WEB-сервисов, фоновых заданий;
  • пошаговое выполнение модуля;
  • расстановка точек останова;
  • прерывание и продолжение выполнения модуля;
  • возможность отладки нескольких модулей одновременно;
  • вычисление выражений для анализа состояния переменных;
  • просмотр стека вызовов процедур и функций;
  • возможность остановки по возникновению ошибки;
  • возможность редактирования модуля в процессе отладки.

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

  • имя пользователя, от имени которого исполняется код на встроенном языке;
  • тип предмета отладки;
  • сетевое имя компьютера, на котором исполняется код на встроенном языке;
  • номер соединения с информационной базой;
  • номер IP-порта, через который Отладчик управляет работой предмета отладки.

К типам предметов отладки относятся:

  • клиент — код на встроенном языке, исполняемый в клиентском приложении;
  • сервер — код на встроенном языке, исполняемый на сервере;
  • внешнее соединение — код на встроенном языке, исполняемый через COM-connector;
  • web-сервис — код на встроенном языке, в котором обрабатываются вызовы методов web-сервисов.
  • фоновое задание — код на встроенном языке, в котором обрабатываются фоновые задания.
Использование Отладчика

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

Если режиме "1С:Предприятие" не запущен, то для начала отладки выберите пункт "Отладка — Начать отладку". Конфигуратор запускает режиме "1С:Предприятие" в отладочном режиме.

Если в настройках Конфигуратора установлен режим разрешения отладки или указано, что отладка будет начата при запуске (открыть с помощью команды "Сервис — Параметры...", закладка "Запуск 1С:Предприятия"), то для начала отладки также можно использовать режим запуска, выполняемый командой "Сервис — 1С:Предприятие". Если требуется выполнить отладку кода, выполняемого определенным пользователем, то в форме настроек на можно указывать пользователя, от лица которого запускается отладочных режим.

Настройка приложения для работы в отладочном режиме

Отладка клиентского приложения

Для установки отладочного режима можно использовать следующие варианты запуска:

  • в режиме "Конфигуратор" в форме настроек (открыть с помощью команды "Сервис — Параметры...", закладка "Запуск 1С:Предприятия") установить флажок "Устанавливать режим разрешения отладки", далее выполнить подключение предмета отладки; также можно установить флажок "Начинать отладку при запуске", в этом случае при запуске 1С:Предприятия подключение будет выполнено автоматически;
  • открыть информационную базу в режиме "1С:Предприятие" с ключом командной строки /Debug (отладочный режим);
  • если запущено клиентское приложение, то в форме настроек (открыть с помощью команды "Сервис — Параметры...", закладка "Системные") установить отладочный режим (установить флажок "Отладка разрешена"). Следует иметь в виду, что после применения настроек снять установку флажка нельзя;
  • если режим "1С:Предприятие" уже запущен и требуется установить возможность отладки для каждого следующего запуска, следует в форме настроек (открыть с помощью команды "Сервис — Параметры...", закладка "Системные") установить флажок "Устанавливать режим разрешения отладки".

Отладка кода на сервере

Для установки отладочного режима следует запустить сервер 1С:Предприятия с ключом командной строки /Debug (ragent.exe /debug).

Отладка внешнего соединения и web-сервисов

Для указания внешнему соединению или web-сервису необходимости запуска в отладочном режиме используют настройки, размещенные в xml-файлах (comcntrcfg.xml и webservicecfg.xml соответственно), которые должны располагаться в подкаталоге CONF каталога исполняемого файла 1С:Предприятия 8 (BIN). Если файл не найден, приложение открывается в обычном режиме.

Выполнение отладки

Чтобы выполнить отладку модуля нужно, чтобы предмет отладки был подключен для отладки.

Для управления подключением используйте окно для выбора предмета отладки и настройки подключения.

Если выполняется отладка сразу нескольких предметов отладки, то существует ряд особенностей пошагового выполнения:
  • если выполнена остановка одного предмета отладки, останавливаются при начале исполнения кода и другие;
  • выполнение команды "Продолжить" приводит к продолжению выполнения всех предметов отладки;
  • выполнение команды "Шагнуть через" приводит к исполнению продвижения на следующую строку во всех предметах отладки;
  • выполнение команды "Шагнуть в" (если выполняемым оператором модуля является вызов функции или процедуры) приводит к переходу на первый оператор внутри этого вызова, для других предметов отладки всегда выполняется команда "Шагнуть через";
Если производится отладка клиент-серверного варианта и код последовательно выполняется на клиенте и на сервере (подключение клиентского и серверного предметов отладки выполнено), то:
  • выполнение команды "Шагнуть в" (если выполняемым оператором модуля является вызов функции или процедуры, исполняемой на сервере) приводит к переходу на первый оператор внутри этого вызова;
  • выполнение команды "Шагнуть из" или команды "Шагнуть через" для последнего исполняемого оператора (если выполняемым оператором модуля является код функции или процедуры, исполняемый на сервере, и которая была вызвана из модуля, выполняемого в клиентском приложении) приводит к переходу на следующий исполняемый оператор внутри этого вызова;
Для выбора предмета отладки, для которого требуется выполнить просмотр значений переменных, а также для показа текущего отлаживаемого предмета отладки после начала отладки выводится специальная панель инструментов "Предметы отладки". Панель состоит из единственного поля выбора, в котором показывается текущий предмет отладки. Это поле выбора доступно только тогда, когда управление работой какого-либо из подключенных предметов отладки находится в отладчике (например, после срабатывания точки останова). При этом в список предметов отладки попадут только те предметы, управление исполнением которых сейчас также находится в отладчике, включая текущий предмет отладки.
С помощью табло и диалога "Выражение" вы можете получить значения интересующих вас выражений. Стек вызовов позволяет проследить последовательность вызова процедур и функций.
Если выполняется пошаговый процесс выполнения, то стек вызова, значения переменных (в табло и в окне "Выражение") показываются для текущего предмета отладки. При смене предмета отладки стек вызова и значения переменных также меняются.
Важно! Если выполнено подключение клиентского и серверного предметов отладки и осуществлен переход из клиентской части в серверную, то на клиентских уровнях стека вызова любые вычисления не выполняются. Такие уровни выводятся в окне стека вызовов серым цветом.
В случае если необходимо продолжить выполнение модуля, с помощью команды "Отладка — Продолжить отладку" разрешите подключенным предметам отладки свободное выполнение модуля (до следующей точки останова). Если для отладки подключено клиентское приложение, то оно активизируется автоматически.
В случае, если требуется прервать процесс отладки в целом, снимите все точки останова со всех модулей и выполните команду "Отладка - Продолжить отладку", если в данный момент сработала точка останова. Если необходимо прервать отладку и завершить работу подключенных предметов отладки, воспользуйтесь командой "Отладка - Прекратить". В последнем случае не будут выполнены процедуры ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы.
В процессе отладки допускается редактирование текущей конфигурации и сохранение изменений.
Внимание! Хотя в процессе отладки возможно редактирование отлаживаемого модуля, Отладчик не производит компилирование измененного кода — продолжается отладка кода конфигурации базы данных (на момент запуска Отладчика или подключения). Для отладки изменений, внесенных в конфигурацию, необходимо выполнить обновление конфигурации базы данных.

1C:Enterprise Developer's Community