начать отладку в конфигураторе что это такое

Как работать с отладкой в 1С 8.3 и 8.2

Отладка 1С — очень мощный и функциональный механизм платформы 1С 8.3, позволяющий быстро найти ошибки в программном коде (в других языках программирования это называется «дебаг», от английского «debug»).

Ниже рассмотрим основные методы использования механизма отладки в виде практической инструкции на конкретном примере.

Внимание! Если Вы используете клиент-серверный режим работы (на сервере), Вам необходимо включить отладку на сервере 1С Предприятия.

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Запуск отладки в 1С

Самый простой способ запустить отладку в 1С — открыть 1С в режиме конфигуратор и из него запустить режим отладки в нужном режиме работы (тонком/толстом, управляемом/обычном):

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Рекомендуем при рядовой разработке использовать режим отладки «Толстого клиента». Но в чистовом варианте всегда прогонять в режиме «тонкого» и «веб-клиента».

Отладка фоновых заданий 1С

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

В этом окне Вы можете установить соответствующий флаг.

Помимо фоновых заданий, в данном окне Вы можете включить отладку внешних соединений, http и web-сервисов.

Установка точки останова (брейкпойнта)

Вторым этапом при отладке является установка точки останова (в других языках программирования — брейкпойнт).

Для примера я выбрал для отладки обработчик «При изменении» на форме документа Доверенность:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Для того чтобы установить точку останова, необходимо найти нужный программный код и кликнуть дважды на поле, слева от поля ввода кода (или нажать кнопку F9):

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Чтобы увидеть список всех установленных, необходимо зайти в меню Отладка — Список точек останова (alt + F9):

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Точка останова 1С с условием (синяя)

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

Например, остановим цикл на строке с номером 25:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Неактивная точка останова (серая)

Серая точка останова означает, что она не активна, система не будет останавливаться на такой точке. Сделать не активной её можно, нажав специальную кнопку на панели «Отключить точку останова» (shift+ctrl+F9):

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Точка останова по ошибке

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

Пошаговое перемещение по программному коду 1С

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Для того чтобы сделать шаг к следующей строке, необходимо нажать кнопку «F11″(Шагнуть в).

Если Вы пошагово проходите по строчкам программного кода и на строке присутствует процедура или функция, то Вы «провалитесь» внутрь этой процедуры (или функции).

Чтобы не «проваливаться», достаточно вместо F11 (Шагнуть в) выполнять переход по строкам кнопкой F10 (Шагнуть через), эта кнопка позволяет перешагивать через процедуры в программном коде.

Чтобы перейти с текущего положения курсора к нужному, минуя промежуточные строчки кода, необходимо установить курсор на нужной строке и нажать shift + F10 (Идти до курсора).

Анализ значений в режиме отладки 1С

Посмотреть значения определенных значений можно разными способами:

Отображение значения при наведении курсора

При наведении на переменную система «подсвечивает» значения переменной:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Использование «Вычислить выражение» или «Табло»

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

Использовать эти методы очень просто. Достаточно ввести в табло имя нужной переменной. Большой плюс произвольных вычислений — Вы можете добавить в выражение свои данные.

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Очень полезно использовать вычисление выражения и выполнить запрос, выгрузить в таблицу значений и посмотреть её.

Как узнать откуда вызвана процедура в отладке — Стек вызовов

Очень часто требуется понять, откуда была вызвана та или иная процедура или функция и с какими параметрами. Для этого в 1С предусмотрена специальная функция — «Стек вызовов». Для запуска Стека вызовов необходимо нажать горячие клавиши — Ctrl + Alt + C или через меню (Отладка — Стек вызовов).

С помощью него Вы можете подробно узнать, откуда была вызвана процедура и с какими параметрами:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Если Вас интересует оценка производительности при отладке — Замер производительности при отладке.

Смотрите также обзорное видео по отладке в 1С:

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Отладчик

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

Основные возможности отладки

Точки останова

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Пошаговое выполнение

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Просмотр выражений

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

Табло и локальные переменные

Результаты вычислений, которые требуется просматривать на протяжении выполнения некоторой части модуля, можно вывести в отдельное окно — табло, — в котором есть возможность распределить все просматриваемые выражения по четырем страницам:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

Изменение значений переменных

Значения примитивных типов можно изменить прямо в ячейке Значение.

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

В этом окне полностью функционирует контекстная подсказка.

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Стек вызовов

Отладчик позволяет использовать стек вызовов, который показывает последовательность вызовов процедур и функций, приведшую к строке модуля, которая отлаживается в данный момент:

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

Двойным щелчком мыши на имени процедуры в стеке вызова можно перейти в соответствующую строку процедуры.

Остановка по ошибке

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

начать отладку в конфигураторе что это такое. Смотреть фото начать отладку в конфигураторе что это такое. Смотреть картинку начать отладку в конфигураторе что это такое. Картинка про начать отладку в конфигураторе что это такое. Фото начать отладку в конфигураторе что это такое

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

Источник

Инструменты отладки в 1С

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

Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:

Имеющиеся в наличии инструменты отладки собраны в меню — «Отладка» можно вызвать соответствующими горячими клавишами или из меню «Отладка».

Точки останова

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

Работе с точками останова посвящена секция меню «Отладка»:

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

Команда «Список точек останова» (Alt+F9) открывает окно для просмотра и управления точками останова:

В окне показаны все точки останова во всех модулях, их расположение (модуль и номер строки) и условие (если есть). Имеется возможность включить/отключить/удалить точки останова, перейти к месту установки точек останова, сохранить и загрузить список точек останова.

Пошаговое выполнение

После того как сработает какая-либо точка останова и управление перейдет к отладчику обычно следует пошаговое выполнение кода модуля. Для пошагового выполнения в меню «Отладка» (и на панели отладки) имеется соответствующая группа команд — они появляются в момент подключения первого из предметов отладки.

В режиме пошаговой отладки исполнение кода приостанавливается после каждой команды и ждет инструкций от отладчика. А инструкции бывают следующими:

Управление отладкой

Управление отладкой осуществляется при помощи соответствующих команд меню «Отладка»:

Окна, табло и стек вызова

Далее рассмотрим команды которые открывают окно «Выражение», «Локальные переменные», «Табло» и «Стек вызова»:

Окно «Выражение» (Shift+F9)

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

Табло (Ctrl+Alt+W)

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

Окно «Локальные переменные»

Специальное окно, которое во время отладки показывает список локальных переменных текущего метода. Редактировать таблицу переменных нельзя.

Изменение значения переменной

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

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

После нажатия кнопки «Установить» в нижней части появится сообщение, которое проинформирует нас — удалось изменить значение переменной или нет.

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

Стек вызова

Показывает последовательность вызовов процедур и функций, которая привела к отлаживаемой в данный момент строке кода. Колонки таблицы содержат название метода, номер строки модуля и предмет отладки.

Замер производительности

Замер производительности позволяет оценить скорость работы всей конфигурации или ее части. Измеряется скорость выполнения и частота использования конкретных участков кода, а также прочая дополнительная информация о которой ниже.

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

Включить режим замера производительности можно соответствующей командой из меню «Отладка»:

Включить режим замера производительности можно как до запуска отладки, так и во время. Повторный использование команды прекратит замер и выведет окно с результатами. Включение и выключение замера производительности действует на все подключенные ко отладчику предметы отладки.

Результаты замера

Результаты замера производительности отображаются в виде таблицы со следующими столбцами:

Таблица с результатами замера производительности может выглядеть, например, так:

Если в строке вызывается процедура/функция то система может показывать время выполнения строки как с учетом времени выполнения вызываемой процедуры/функции и без учета этого времени. Флажок «Для вызова процедур и функций включать время выполнения» служит для выбора способа подсчета времени выполнения строки.

Результаты можно отсортировать по любой из колонок. Если выделить несколько строк, то сумма квантитативных данных (Кол., Врем., %(Врем.)) отобразится в нижней части окна. Кроме этого результаты можно сохранить в файл с расширением *.pff (этот файл, в последствии, можно открыть в любом конфигураторе).

Имитация задержек при вызове сервера

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

Включить механизм можно в конфигураторе (меню «Сервис»->»Параметры», вкладка «Запуск 1С:Предприятия»), специальным ключом командной строки, а также в режиме 1С:Предприятие (меню «Сервис»->»Параметры»):

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *