- •Отладчик Delphi Что такое отладка?
- •Основные виды ошибок
- •Отладчик delphi Трассировка программы
- •Точки остановки (точки прерывания) программы
- •Группировка точек прерывания
- •Действие
- •Наблюдение значений переменных
- •Просмотр и изменение значений
- •Приложение Предотвращение и обработка ошибок
- •Исключения
- •Содержание
Точки остановки (точки прерывания) программы
Рассмотрим фрагмент программы:
Пример 2
В данном месте программы есть ошибка. чтобы перейти к выполнению это программы по шагам, в ней надо создать точку прерывания, встретив которую, программа прервет работу и временно передаст управление системе Delphi.
Точки прерывания(breakpoint) расставляются не в любой точке программы, а только там, где выполняются какие-то действия. Такие строки помечены на левом поле в редакторе синими круглыми маркерам, которые появляются после успешно выполненной компиляции. В нашем случае точку прерывания можно поставить в строке с оператором цикла. Эту операцию можно осуществить несколькими способами:
проставить курсор в нужной строке и нажать клавишу <F5>
щелчок мыши на синем маркере слева, который помечает ту инструкцию программы, перед которой нужно расположить точку остановки. При этом соответствующая строка выделяется красным цветом.
Выбрать из меню Run команду Add Breakpoint (Добавить точку остановки), затем из меню следующего уровня выбрать Source Breakpoint.Далее должно открыться окно Add Source Breakpoint, в котором выводится нужная информация о добавляемой точке остановки, поле Line Number – номер строки программы, в которую добавляется точка остановки. После щелчка мыши точка прерывания добавляется в программу, и отмеченная точкой строка выделяется цветом (рис.2):
Поле ввода условия
Рис. 2 – Диалоговое окно Add Source Breakpoint
Снимается точка прерывания аналогичными способами.
Группировка точек прерывания
Delphi дает возможность объединить несколько точек прерывания в группу. Название группы вводится в поле Group при установке точек прерывания . Данный подход удобен тем, что плозволяет выполнять схожие действия над целыми группами точек остановки: одновременно включать или выключать все точки из группы с помощью раскрывающихся спсисков Enable Group (включить группу) Disable Group (выключить группу).
Просмотр списка всех точек прерывания выполняется командой ViewDebug WindowsBreakpoints(Вид Отладка Точки прерывания). Далее на экране появляется окно со следующей информацией:
Рис.3 – Окно Breakpoint List
Filename (Имя файла) указывает имя файла, в котором устанавливается точка прерывания;
Line (Строка)содержит номер строки, в которой установлена точка;
Condition (Условие)отображает условие активизации данной точки;
Action (Действие) показывает действие, выполняемое дополнительно;
Pass Count (Число проходов) указывает сколько раз во время работы программы встретилась данная точка;
Group (Группа) проводится название группы, к которой относится точка.
Быстро переключаться к нужному месту исходного кода можно, выполнив щелчок на строке с соответствующей точкой прерывания. Для изменения состояния и характера работы очки выберите в контекстном меню (правая клавиша мыши) этой точки Properties (Свойства). После этого появится окно Source Breakpoint Properties, в котором можно менять характеристики.
Рис. 4 – Окно Source Breakpoint Properties
Для точки остановки можно задать условие, при выполнении которого программа приостановит работу в указанной точке. Условие (логическое выражение) вводится в поле Condition диалоговое окна Source Breakpoint Properties.
Если для точки остановки задано условие, то программа приостанавливает свою работу только в том случае, если выражение, находящееся в поле Condition, истинно (значение True).
Также возможно задать количество пропусков остановки данной точки. Если во время добавления в программу точки остановки в поле Pass Count (Число пропусков) диалоговое окно Source Breakpoint Properties записать число отличное от нуля, то программа остановит свою работу в данной точке после того, как инструкция, находящаяся в строке, помеченной точкой прерывания, будет выполнена указанное количество раз.
