410 документов
← К списку

Отладчик

страница

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

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

  • возможность отладки клиентских и серверных приложений, внешних соединений, как в файловом, так и в клиент-серверном режиме, WEB-сервисов, фоновых заданий;

  • пошаговое выполнение модуля;

  • расстановка точек останова;

  • прерывание и продолжение выполнения модуля;

  • возможность отладки нескольких модулей одновременно;

  • вычисление выражений для анализа состояния переменных;

  • просмотр стека вызовов процедур и функций;

  • возможность остановки по возникновению ошибки;

  • возможность редактирования модуля в процессе отладки.

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

  • имя пользователя, от имени которого исполняется код на встроенном языке;

  • тип предмета отладки;

  • сетевое имя компьютера, на котором исполняется код на встроенном языке;

  • номер соединения с информационной базой;

  • номер IP-порта, через который Отладчик управляет работой предмета отладки.

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

  • клиент — код на встроенном языке, исполняемый в клиентском приложении;

  • сервер — код на встроенном языке, исполняемый на сервере;

  • внешнее соединение — код на встроенном языке, исполняемый через COM-connector;

  • web-сервис — код на встроенном языке, в котором обрабатываются вызовы методов web-сервисов.

  • фоновое задание — код на встроенном языке, в котором обрабатываются фоновые задания.

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

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

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

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

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

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

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

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

  • открыть информационную базу в режиме "1С:Предприятие" с параметром командной строки /Debug (отладочный режим);

  • если запущено клиентское приложение, то в форме настроек (открыть с помощью команды "Сервис — Параметры...", закладка "Системные") установить отладочный режим (установить флажок "Отладка разрешена"). Следует иметь в виду, что после применения настроек снять установку флажка нельзя;

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

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

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

Примечание. В Linux и macOS исполняемые файлы не имеют расширения ".exe". Используйте ragent вместо ragent.exe.

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

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

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

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

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

Если выполняется отладка сразу нескольких предметов отладки, то существует ряд особенностей пошагового выполнения:

  • если выполнена остановка одного предмета отладки, останавливаются при начале исполнения кода и другие;

  • выполнение команды "Продолжить" приводит к продолжению выполнения всех предметов отладки;

  • выполнение команды "Шагнуть через" приводит к исполнению продвижения на следующую строку во всех предметах отладки;

  • выполнение команды "Шагнуть в" (если выполняемым оператором модуля является вызов функции или процедуры) приводит к переходу на первый оператор внутри этого вызова, для других предметов отладки всегда выполняется команда "Шагнуть через";

Если производится отладка клиент-серверного варианта и код последовательно выполняется на клиенте и на сервере (подключение клиентского и серверного предметов отладки выполнено), то:

  • выполнение команды "Шагнуть в" (если выполняемым оператором модуля является вызов функции или процедуры, исполняемой на сервере) приводит к переходу на первый оператор внутри этого вызова;

  • выполнение команды "Шагнуть из" или команды "Шагнуть через" для последнего исполняемого оператора (если выполняемым оператором модуля является код функции или процедуры, исполняемый на сервере, и которая была вызвана из модуля, выполняемого в клиентском приложении) приводит к переходу на следующий исполняемый оператор внутри этого вызова;

Для выбора предмета отладки, для которого требуется выполнить просмотр значений переменных, а также для показа текущего отлаживаемого предмета отладки после начала отладки выводится специальная панель инструментов "Предметы отладки". Панель состоит из единственного поля выбора, в котором показывается текущий предмет отладки. Это поле выбора доступно только тогда, когда управление работой какого-либо из подключенных предметов отладки находится в отладчике (например, после срабатывания точки останова). При этом в список предметов отладки попадут только те предметы, управление исполнением которых сейчас также находится в отладчике, включая текущий предмет отладки.

С помощью табло и диалога "Выражение" вы можете получить значения интересующих вас выражений. Стек вызовов позволяет проследить последовательность вызова процедур и функций.

Если выполняется пошаговый процесс выполнения, то стек вызова, значения переменных (в табло и в окне "Выражение") показываются для текущего предмета отладки. При смене предмета отладки стек вызова и значения переменных также меняются.

Важно! Если выполнено подключение клиентского и серверного предметов отладки и осуществлен переход из клиентской части в серверную, то на клиентских уровнях стека вызова любые вычисления не выполняются. Такие уровни выводятся в окне стека вызовов серым цветом.

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

В случае, если требуется прервать процесс отладки в целом, снимите все точки останова со всех модулей и выполните команду "Отладка - Продолжить отладку", если в данный момент сработала точка останова. Если необходимо прервать отладку и завершить работу подключенных предметов отладки, воспользуйтесь командой "Отладка - Прекратить". В последнем случае не будут выполнены процедуры ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы.

В процессе отладки допускается редактирование текущей конфигурации и сохранение изменений.

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