Отладка — это неотъемлемая этап разработки прикладного решения. Умение эффективно использовать имеющиеся инструменты существенно снижает временные затраты на разработку и повышает ее качество. В этой статье я попробую рассказать о том, какие инструменты для отладки предоставляет нам система «1С:Предприятие».
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
- Как включить отладку на сервере 1С
- Отладка по протоколам HTTP и TCP/IP в 1С
- Инструменты отладки в 1С
- Отладка в 1С
Имеющиеся в наличии инструменты отладки собраны в меню — «Отладка» можно вызвать соответствующими горячими клавишами или из меню «Отладка».
Точки останова
Точка останова — это некая точка в программном модуле, на которой выполнение модуля приостанавливается и управление перехватывает отладчик. Точку останова можно установить с любой строке модуля и в любой момент работы с отладчиком. Место установки точки останова отмечается соответствующим знаком, для разных видов точек останова используются разные обозначения:
Работе с точками останова посвящена секция меню «Отладка»:
- Точка останова (F9) — устанавливает/удаляет точку останова в строке на которой стоит курсор;
- Точка останова с условием — устанавливает точку останова и открывает окно для ввода условия — логического выражения, повторное использование команды в этой же строке откроет окно для редактирования условия. Останов в указанной точке будет выполнен только если условие истинно;
- Включить/отключить точку останова (Ctrl+Shift+F9) — включает/отключает точку останова;
- Удалить все точки останова — удаляет все точки останова во всех модулях;
- Отключить все точки останова — отключает все точки останова во всех модулях;
- Список точек останова (Alt+F9) — открывает окно для просмотра и управления точками останова, о нем ниже.
Кроме этого пункт меню «Отладка» — «Остановка по ошибке…» также можно отнести к работе с точками останова, так как эта команда позволяет останавливать выполнение кода при возникновении ошибки и переходит к строке которая вызвала ошибку.
Команда «Список точек останова» (Alt+F9) открывает окно для просмотра и управления точками останова:
В окне показаны все точки останова во всех модулях, их расположение (модуль и номер строки) и условие (если есть). Имеется возможность включить/отключить/удалить точки останова, перейти к месту установки точек останова, сохранить и загрузить список точек останова.
Пошаговое выполнение
После того как сработает какая-либо точка останова и управление перейдет к отладчику обычно следует пошаговое выполнение кода модуля. Для пошагового выполнения в меню «Отладка» (и на панели отладки) имеется соответствующая группа команд — они появляются в момент подключения первого из предметов отладки.
В режиме пошаговой отладки исполнение кода приостанавливается после каждой команды и ждет инструкций от отладчика. А инструкции бывают следующими:
- Шагнуть в (F11) — если следующая команда это процедура/функция, то начинается пошаговая отладка этой функции, иначе отладчик просто переходит к следующей команде;
- Шагнуть через (F10) — если следующая команда это процедура/функция, то она полностью выполняется (не пошагово) и отладчик переходит к следующей команде;
- Шагнуть из (Shift+F11) — прерывает пошаговое выполнение процедуры/функции и останавливается на первом операторе после выхода из нее;
- Идти до курсора (Shift+F10) — выполняются все операторы до строки на которой стоит курсор;
- Текущая строка — перемещает курсор в ту строку, на которой остановился отладчик;
- Продолжить отладку (F5) — прерывает пошаговую отладку и продолжает свободное исполнение модуля.
Управление отладкой
Управление отладкой осуществляется при помощи соответствующих команд меню «Отладка»:
- Перезапустить (Ctrl+Shift+F5) — прекращает выполнение конфигурации и производить повторный запуск в режиме «1С:Предприятия»;
- Завершить (Shift+F5) — прекращает выполнение модуля и завершает работу текущего предмета отладки;
- Остановить — останавливает выполнение модуля на текущем операторе и позволяет начать отладку со следующей исполняемой строки.
- Остановка по ошибке — открывает окно настройки остановки по ошибке:
Окна, табло и стек вызова
Далее рассмотрим команды которые открывают окно «Выражение», «Локальные переменные», «Табло» и «Стек вызова»:
Окно «Выражение» (Shift+F9)
Позволяет рассчитать выражение на встроенном языке. Следует отметить, что выражения выполняются в реальной системе и об этом нельзя забывать, если, к примеру, рассчитываемое выражение создает некий объект данных, то этот объект будет создан в реальной системе.
Табло (Ctrl+Alt+W)
Специальное окно, которое состоит из четырех страниц (переключение из контекстного меню) и отображает результаты вычисления переменных, арифметических выражений и выражений с использованием встроенного языка.
Окно «Локальные переменные»
Специальное окно, которое во время отладки показывает список локальных переменных текущего метода. Редактировать таблицу переменных нельзя.
Изменение значения переменной
Когда управление находится у отладчика имеется возможность изменять значения переменных и свойства объектов (доступные для записи). Доступ к этой функции можно получить из окна выражений (подчеркнутая кнопка на рисунке выше), а также из контекстного меню в окне локальных переменных и в табло (такой же значок как и в окне выражений).
Откроется специальное окно (как на рисунке выше). В верхней части можно ввести новое значение для переменной — константное значение любого типа или выражение, корректное с точки зрения встроенного языка.
После нажатия кнопки «Установить» в нижней части появится сообщение, которое проинформирует нас — удалось изменить значение переменной или нет.
Пользоваться функцией нужно с осторожностью — необдуманное изменение значений переменных может привести к записи в базу данных совершенно неправильных значений.
Стек вызова
Показывает последовательность вызовов процедур и функций, которая привела к отлаживаемой в данный момент строке кода. Колонки таблицы содержат название метода, номер строки модуля и предмет отладки.
Замер производительности
Замер производительности позволяет оценить скорость работы всей конфигурации или ее части. Измеряется скорость выполнения и частота использования конкретных участков кода, а также прочая дополнительная информация о которой ниже.
Полученная информация позволяет, например, выбрать наиболее оптимальный (по быстродействию) вариант решения какой-либо задачи или отыскать «узкие», в плане быстродействия, места конфигурации. При этом нужно учитывать, что какие-либо сравнения скорости выполнения нужно проводить в одинаковых условиях.
Включить режим замера производительности можно соответствующей командой из меню «Отладка»:
Включить режим замера производительности можно как до запуска отладки, так и во время. Повторный использование команды прекратит замер и выведет окно с результатами. Включение и выключение замера производительности действует на все подключенные ко отладчику предметы отладки.
Результаты замера
Результаты замера производительности отображаются в виде таблицы со следующими столбцами:
- Модуль — название модуля;
- Номер строки — номер строки;
- Строка — участок кода;
- Кол. — количество вызовов данного участка кода за все время замера;
- Врем. — суммарное время выполнения (в секундах) данного участка кода за все время замера;
- %(Врем.) — процент суммарного времени выполнения данного участка кода к общему времени замера (общее время замера — это суммарное время выполнения кода конфигурации);
- Клиент — отметка участков кода выполняющихся на клиенте;
- Сервер — отметка участков кода выполняющихся на сервере;
- Обр. сервер — отметка участков кода в которых происходит вызов сервера.
Таблица с результатами замера производительности может выглядеть, например, так:
Если в строке вызывается процедура/функция то система может показывать время выполнения строки как с учетом времени выполнения вызываемой процедуры/функции и без учета этого времени. Флажок «Для вызова процедур и функций включать время выполнения» служит для выбора способа подсчета времени выполнения строки.
Результаты можно отсортировать по любой из колонок. Если выделить несколько строк, то сумма квантитативных данных (Кол., Врем., %(Врем.)) отобразится в нижней части окна. Кроме этого результаты можно сохранить в файл с расширением *.pff (этот файл, в последствии, можно открыть в любом конфигураторе).
Имитация задержек при вызове сервера
Механизм имитации задержек при вызове сервера позволяет имитировать работу прикладного решения в условиях существенных временных задержек при взаимодействии с сервером — при вызове сервера, а также при отправке данных на сервер и получении данных с сервера.
Включить механизм можно в конфигураторе (меню «Сервис»->»Параметры», вкладка «Запуск 1С:Предприятия»), специальным ключом командной строки, а также в режиме 1С:Предприятие (меню «Сервис»->»Параметры»):
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Загрузка...
Общие реквизиты в 1С 8.3 — отдельный объект метаданных платформы 1С, к которому можно обращаться при помощи встроенного языка из модуля документа. Он будет доступен при редактировании формы документа