Как отладчиком найти ошибку в 1с

Отладчик

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

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

  • отладка приложений, исполняемых на удаленных компьютерах, доступных по протоколу TCP/IP или HTTP, 
  • отладка кода, исполняемого рабочим процессом кластера серверов 1С:Предприятия 8; при этом поддерживается сквозной стек вызовов для клиента и сервера, и сквозная пошаговая отладка клиента и сервера;
  • отладка кода, исполняемого в таких видах соединений как внешнее соединение, фоновое задание и WS-соединение?
  • отладка мобильных приложений.

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

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


Отладчик

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


Отладчик

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


Отладчик

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


Отладчик

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

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


Отладчик

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

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


Отладчик

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


Отладчик

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

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

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


Отладчик

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

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

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


Отладчик

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


Отладчик

Стек вызовов

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


Отладчик

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

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

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


Отладчик

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

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

О том, как включить отладку по протоколу TCP-IP/HTTP описано в статье

Начало отладки

Открываем 1С Предприятие в режиме конфигуратора, в строке меню выбираем пункт «Отладка».

1.png

2.png

Далее необходимо выбрать режим работы отладчика.

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

3.png

После запуска отладки иконка 4.png изменится на
5.png. Также изменится и список с доступными инструментами отладки.

6.png

Чтобы убедиться в подключении предметов отладки необходимо в списке с инструментами выбрать пункт
«Подключение…»
Откроется форма с подключенными предметам отладки.

7.png

Опишем доступные инструменты на данном этапе:

  • 8.png

    Продолжить отладку – продолжает отладку до следующей точки, если точек больше нет, запускается клиент.

  • Начало отладки – выбор клиента для отладки
  • Перезапустить – завершается текущий сеанс отладки и запускается новый
  • Завершить – завершение отладки
  • Остановить – используется при зависании, например, на зацикливании
  • Остановка по ошибке – автоматический вызов отладки при возникновении ошибки (есть функция остановки на
    ошибках, содержащих определенный текст)

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

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

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

9.pngвключенная точка – произойдет остановка в указанном месте (если для этого соблюдены условия в
программном коде)
10.pngточка с условием – остановка произойдет по заданному условию (условие задается в конфигураторе)

11.pngотключенная точка – остановка в указанном месте не произойдет
12.pngточка исполнения текущего предмета отладки – стрелка указывает на исполняемый на данный момент
участок кода 

13.png

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

14.png

Примеры работы:

В каркасной конфигурации для примера был создан документ «Начисление зарплаты». Для отладки используем
обработку проведения. Документ состоит из табличной части на основании которой будут делаться движения в регистре
расчета. Обработка проведения и документ выглядят следующим образом:

15.png

16.png

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

В открывшемся окне задаем нужное условие для вызова отладки.

17.png

В нашем примере остановка будет происходить на той итерации цикла, когда наименование реквизита табличной части
«Сотрудник» будет равно «Лоханкина».

18.png

Приступаем к проведению документа, на форме нажимаем кнопку «Провести» происходит вызов отладки, красная точка
дополнилась стрелочкой 19.png что означает
остановку на нужном нам месте.

Инструменты для работы с отладкой:

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

20.png

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

21.png

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

Открываем окно «Выражение», поскольку наш документ в системе существует, значит у него есть ссылка. В поле
«Выражение» пишем «Ссылка» и нажимаем кнопку «Рассчитать».

22.png

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

23.png

В таблице «Результат» выбираем строку в которой хотим изменить значение, нажимаем кнопку 24.png.Откроется окно ввода выражения, прописываем «Истина» (тем самым изменяем текущее значение
«Ложь») и нажимаем кнопку «Установить».

25.png

Система оповещает нас об успешном выполнении операции. После работы в отладчике документ проведен не будет, об этом
нам сообщит система сама.

26.png

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

Нужное значение добавить в табло можно используя окно выражения. Достаточно нажать кнопку «Включить в табло»
выбрав нужную строку в таблице.

27.png

Внешний вид окна «Табло»

28.png

Можно открыть до 4 таких окон одновременно. Для этого в окне табло вызываем контекстное меню и выбираем пункт
«Закладки»
. Появляются вкладки для выбора нужного окна. В каждом из них возможно хранить разные значения.

29.png

30.png

Локальные переменные – окно, показывающее переменные внутри исполняемой на данный момент процедуры или функции
в режиме отладки.

31.png

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

32.png

После этого открываем стек вызовов.

33.png

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

34.png

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

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

35.png

Иконка замера производительности станет выделенной 36.png. Выполняем
необходимые нам для замера действия и отключаем замер. Сразу после этих действий откроются результаты замера.

37.png

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

Перемещение по программному коду во время отладки

38.png

Для удобства в конфигураторе реализована возможность пошагово перемещаться в модуле, осуществляется это с помощью
кнопок:
Шагнуть в – если в строке присутствует процедура или функция, то вы окажетесь внутри нее.
Шагнуть через – чтобы не оказаться внутри процедуры, которая присутствует в строке через нее можно
«перешагнуть»
Шагнуть из – оказавшись внутри процедуры или функции отладка, которой вам больше не требуется используйте эту
кнопку для выхода из нее
Идти до курсора – отладка остановится там, где установлен курсор мыши
Текущая строка – переход к отлаживаемой строке.

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

1. Нужно найти, откуда вызывается сообщение об ошибке.

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

В открывшемся окне Глобальный поиск по текстам ввести часть текста ошибки и нажать Искать

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

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

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

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

Далее ставим точку останова на строке с ошибкой (двойным щелчком мышки на сером поле в строке, рис. 4, появится красный кружок). Затем запускаем отладку, если она еще не запущена: меню Отладка – Начать отладку :

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

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

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

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

1. Нужно определить, когда и как происходит запись в регистр.

Для этого нужно поставить точку останова в процедуре ПередЗаписью или ПриЗаписи в Модуле набора записей нужного регистра. Если в Модуле набора записей регистра не определены эти процедуры, то можно:

1) временно определить одну из них и затем в отладке изучить последовательность переходов работы процедур до записи в регистр по стеку вызовов, аналогично поиску возникновения ошибки в пункте 1 (рис. 7, рис. 8).

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

В процессе отладки можно смотреть значения переменных, выделяя переменную и нажимая Shift F9 (рис. 9) или меню Отладка – Вычислить выражение… (рис. 7), в поле Выражение можно написать любой выполняемый текст кода, например, ТабЗначений.Выгрузить(), где ТабЗначений – это переменная типа ТаблицаЗначений, которая существует в отлаживаемой процедуре.

Автор: Дина Королева.

Подписывайтесь на канал
«Полезный 1С»

В телеграм канале — наш практический опыт, бизнес-кейсы и способы повышения эффективности компании, которые мы опробовали внутри группы Neti.

.

Возврат к списку

Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.

Автор уроков и преподаватель школы: Владимир Милькин

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

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

Отладка в 1С

Итак, давайте начнём наш эксперимент.

Напишите в модуле управляемого приложения следующий код:

    А = 3;
    Б = 5;
    Сумма = А + Б;
 
    Сообщить(Сумма);
 
    Сумма = Сумма * 2;
    Сообщить(Сумма);

Код очень простой. Сначала мы определяем две переменные с именами А и Б и значениями 3 и 5 соответственно. Затем складываем эти числа и кладём результат сложения в переменную с именем Сумма. Затем выводим это значение на экран. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Затем удваиваем это значение. И снова выводим.

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

Для этого установим курсор мыши в пятую строчку:

И в главном меню выберем команду «Отладка»-«Точка останова».

Если при этом появилась вот такая ошибка…

… это означает, что код который мы собираемся отлаживать ещё не сохранен в базу данных и нам следует предварительно выполнить пункт меню «Конфигурация-Обновить конфигурацию базы данных»:

После этого конфигуратор даст нам установить точку остановки в нужном месте.

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

Теперь запустим отладку программы. Для этого через главное меню выполним команду «Отладка»-«Начать отладку» (или нажмём F5 на клавиатуре).

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

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

И выполним через главное меню команду «Отладка»-«Вычислить выражение…»:

Откроется следующее окно, в котором мы видим нашу переменную и её значение в данный момент. Оно действительно равно восьми. Закройте это окно.

Но давайте заставим компьютер выполнить текущую команду и перейти к следующей. Для этого выполним «Отладка»-«Шагнуть через» (или нажмём F10 на клавиатуре):

И мы увидим, что стрелка выполнения переместилась на следующую команду, которая удваивает значение переменной Сумма:

И ещё раз выполним «Отладка»-«Шагнуть через» (а лучше снова нажмём F10 на клавиатуре), чтобы стрелочка оказалась на последней строке:

А теперь снова выделим переменную Сумма и выполним «Отладка»-«Вычислить выражение…». Как видите значение переменной Сумма теперь стало равно 16:

Чтобы прекратить отладку программы выполним команду «Отладка»-«Завершить».

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

Пройдите тест

Домашнее задание

Выполните отладку вот этой программы:

    МассивЧисел = Новый Массив(5); // объявим массив на 5 ящиков
    МассивЧисел[0] = 10;
    МассивЧисел[1] = 5;
    МассивЧисел[2] = 450;
    МассивЧисел[3] = 654;
    МассивЧисел[4] = 34;
 
    // изначально делаем наименьшее число заведомо очень большим
    НаименьшееЧисло = 1000000; 
    Для Шаг = 0 По 4 Цикл // пробегаемся по всем значениям массива
        // если в массиве есть число меньшее, чем НаименьшееЧисло
        Если МассивЧисел[Шаг] < НаименьшееЧисло Тогда 
            // тогда его и делаем новым наименьшим числом
            НаименьшееЧисло = МассивЧисел[Шаг];
        КонецЕсли;
    КонецЦикла;
 
    Сообщить("Наименьшее из введенных чисел равно " + НаименьшееЧисло);

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

Для учеников

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

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

На вопросы учеников — отвечаю по почте,  но прежде загляните в ЧАВО (ссылка) .

С уважением, Владимир Милькин

О чем эта статья

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

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

  • Для чего нужен отладчик и как им пользоваться?
  • Что такое точки останова, как и зачем их ставить?
  • Как пошагово выполнять программный код и зачем это нужно?
  • Где смотреть значения своих переменных, а также вычислять значения выражений?
  • Для чего нужен стек вызова и как его посмотреть?
  • Как остановить выполнение программного кода по ошибке?

Применимость

В статье рассматривается платформа 1C версии 8.3.4.365. Текущая актуальная версия платформы содержит более богатые механизмы отладки, однако это не делает представленную информацию устаревшей, т.к. все описанные в статье механизмы и приемы отладки остались прежними.

Использование отладчика в системе «1С:Предприятие 8»

Система “1С:Предприятие 8” содержит встроенный отладчик программного кода.

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

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

Точка останова – место остановки работы системы в программном коде, отмеченное специальным маркером (Рис. 1).

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

Рис. 1. Точка останова

При срабатывании точки останова становится возможным пошаговое выполнение программного кода и анализ значений переменных.

Установка точек останова

Установка точки останова на определенной строке программного кода осуществляется двойным щелчком левой кнопки мыши в левой области программного модуля, которая выделена серым цветом.

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

Для установки точки останова на конец процедуры или функции необходимо устанавливать точку останова на ключевом слове КонецПроцедуры или КонецФункции.

Точку останова можно временно отключить, не удаляя ее из программного кода. Для выключения точки останова выполнить команду Отключить точку останова на панели инструментов или нажать сочетание клавиш Ctrl+Shift+F9.

Для просмотра всех точек останова нужно выполнить команду главного меню Отладка – Список точек останова или нажать сочетание клавиш Alt+F9. В открывшей форме Точки останова можно временно отключать или удалять точки останова (Рис. 2).

Список точек останова

Рис. 2. Список точек останова

Для удаления всех точек останова нужно выполнить команду главного меню конфигуратора Отладка – Убрать все точки останова.

Точка останова с условием

Точка останова с условием необходима для остановки выполнения программного кода при срабатывании определенного условия.

Для установки точки останова с условием нужно выполнить команду главного меню конфигуратора Отладка – Точка остановка с условием. Откроется форма Условие останова. В поле ввода нужно ввести необходимое условие (например, значение какой-либо переменной в программном коде) и нажать кнопку ОК (Рис. 3).

После запуска системы в режиме отладки точка останова сработает, когда будет выполнено условие останова. Убедиться в этом можно с помощью формы Табло (Рис. 3). Работа с формой Табло будет рассмотрена ниже.

Установка точки останова с условием и результат ее обработки

Рис. 3. Установка точки останова с условием и результат ее обработки

Для того чтобы начать отлаживать программный код необходимо установить точки останова и запустить приложение в режиме отладки. Для запуска отладки нужно выполнить команду главного меню конфигуратора Отладка – Начать отладку (F5).

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

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

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

Пошаговое выполнение программного кода

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

Шагнуть в (F11). Если следующий оператор программного кода выполняет вызов проце-дуры или функции, то осуществляется ее пошаговое выполнение, иначе – выполняется следующий оператор.

Шагнуть через (F10). Если следующий оператор программного кода выполняет вызов процедуры или функции, то осуществляется ее выполнение полностью без входа внутрь. Затем выполняется следующий оператор.

Идти до курсора (Shift+F10). Осуществляется выполнение операторов от текущей выпол-няемой строки до строки программного кода, где расположен курсор.

Использование форм Табло и Выражение

Для просмотра значений переменных и вычисления значений выражений во время оста-новки программного кода предназначены формы Табло и Выражение.

Форма Табло вызывается командой главного меню конфигуратора Отладка – Табло или сочетанием клавиш Ctrl+Alt+W. В табло можно записать значения каких-либо переменных и анализировать, как они изменяются в процессе выполнения программного кода.

У табло доступны четыре закладки. По умолчанию закладки выключены. Для включения закладок в форме Табло нужно вызвать контекстное меню и установить флаг Закладки (Рис. 4).

Форма Табло с включенными закладками

Рис. 4. Форма “Табло” с включенными закладками

Для вычисления значений выражений в момент остановки программного кода используется форма Выражение. Для открытия этой формы используется команда главного меню конфигуратора Отладка – Вычислить выражение или сочетание клавиш Shift+F9 (Рис. 5).

Форма Выражение

Рис. 5. Форма “Выражение”

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

Для просмотра значений коллекции (например, таблицы значений, списка значений, массива) можно использовать команду Показать значение в отдельном окне или клавишу F2.

Просмотр стека вызовов

Стек вызовов – форма, которая позволяет отслеживать взаимные вызовы процедур и функций в процессе исполнения программного кода. Стек вызовов отображается командой главного меню конфигуратора Отладка – Стек вызовов или сочетанием клавиш Ctrl+Alt+C. Из формы Стек вызовов можно перейти к соответствующей процедуре или функции (Рис. 6).

Стек вызовов

Рис. 6. Стек вызовов

Остановка программного кода по ошибке

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

Для открытия формы нужно выполнить команду главного меню конфигуратора Отладка – Остановка по ошибке.

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

В форме нужно установить флаг Остановка по ошибке и запустить приложение в режиме отладки. Выполнение программного кода будет остановлено на строке, в которой возникла ошибка (Рис. 7).

Используя возможности отладчика, описанные в этой статье, разработчик может анализировать как собственный программный код, так и программный код типовых решений фирмы “1С”.

Как показывает практика без отладчика поиск ошибок в программном кода занимает длительное время. Поэтому освоению отладчика нужно уделить особое внимание.

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

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

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

Понравилась статья? Поделить с друзьями:
  • Как отлавливать ошибки на php
  • Как отлавливать ошибки в python
  • Как отлавливать ошибки в delphi
  • Как открыть эксель если выдает ошибку
  • Как открыть чертеж в автокаде после фатальной ошибки