Учебник по Delphi 4

       

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



    Точка останова (breakpoint) — своеобразный знак STOP для отладчика (на полосе слева в окне редактора она и выглядит как маленький красный значок). Когда ваше приложение запущено под отладчиком и доходит до строки, в которой находится точка останова, оно прекращает работу и ждет ваших дальнейших распоряжений. Такие точки могут быть условными и безусловными. Отладчик всегда останавливается на точке безусловного останова и может останавливаться в точке условного останова, когда выполнено условие. Интегрированный отладчик Delphi поддерживает два типа условий — логическое и по количеству проходов. Ниже рассмотрены оба типа.


    Установить точки останова можно следующими способами:

Поместите курсор редактирования на выбранную строку программы и нажмите клавишу команды Toggle Breakpoint (по умолчанию это клавиша <F5>) для установки или удаления точки останова в этой строке. То же самое можно выполнить и с помощью контекстного меню.

Выберите команду Run/Add Breakpoint, и откроется диалоговое окно Edit breakpoint (рис 2.15). Для установки простейшей точки останова просто щелкните на кнопке New. Вы также можете использовать поля Filename и Line Number для установки точек останова в другом файле или строке за пределами текущей позиции курсора. Поля Condition и Pass count используются для установки точки условного останова.

    После установки одной или нескольких точек останова можете использовать окно Breakpoint List для управления ими. Для вызова окна Breakpoint List выберите команду View/Breakpoints (рис. 2.16). В этом окне можете щелкнуть на строке конкретной точки правой кнопкой мыши и в контекстном меню отключить точку останова с помощью команды Disable (вновь включить точку останова можно с помощью команды Enable) или удалить ее с помощью команды Delete. Команды View Source и Edit Source активизируют окно с текущим файлом исходного текста, при этом команда Edit Source устанавливает курсор в строку с точкой останова. Команда Properties выводит диалоговое окно Edit breakpoint, показанное на рис. 2.15, позволяя тем самым изменять параметры точки останова.


 


Рис. 2.15. Использование диалогового окна Edit breakpoint для установки новой точки останова.



Рис. 2.16. Использование окна Breakpoint list для управления точками останова.

    После щелчка правой кнопкой мыши в окне при невыбранной точке останова выводится контекстное меню, в котором команда Add служит для добавления новой точки, Delete All удаляет все точки останова, а команды Disable All и Enable All отключают или включают все точки останова в списке.

    Для превращения безусловной точки останова в условную, необходимо вызвать диалоговое окно Edit breakpoint (см. рис. 2.15) и ввести условное выражение или количество проходов в соответствующие поля.

    Условное выражение, введенное в поле Condition, может быть любым логическим выражением. По достижении точки останова отладчик вычисляет значение выражения и, если результат ложен, продолжает выполнение программы. Если выражение истинно, выполнение программы приостанавливается. Как обычно, выражение не должно использовать вызов функции. Такие точки останова полезны, если вы можете попасть в интересующий вас фрагмент кода различными путями, но вы хотите остановить выполнение программы только при достижении каких-либо конкретных условий.

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

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


Содержание раздела