Главная » Free Pascal » Использование точек останова Free Pascal

0

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

Для набора точки останова в текущей строке исходной программы можно вы- полнить команду Debug ® Breakpoint или нажать комбинацию клавиш <Ctrl>+

+<F8>.  Окно, в котором хранится информация о точке останова, приведено на рис. 3.28.

Рис. 3.28. Окно со списком точек останова

Список точек останова можно увидеть, выполнив команду Debug ® Break- point List. В этом окне можно инициировать следующие операции:

± New — отобразить свойства точки останова при наборе новой точки;

± Edit — показать свойства точки останова для изменения ее свойств;

± Delete удалить точку останова.

При наборе новой точки или изменении свойств ранее установленной точки ис- пользуются поля окна, приведенного на рис. 3.29.

Рис. 3.29. Окно для набора новых точек останова и модификации старых

Вы можете установить тип точки, выбрав из списка типов нужную строку:

± function — точка останова в функции. Выполнение программы останавливает- ся при вызове функции с указанным именем;

± file-line — точка останова в строке исходной программы. Программа останав- ливается при попадании на указанную строку в файле с заданным именем;

± watch — точка останова выражения. Вы можете ввести выражение, и програм- ма остановится при изменении значения этого выражения;

± awatch (access watch) — точка останова выражения. Можно ввести выражение, которое является ссылкой на ячейку памяти, и программа остановится при лю- бом обращении к этой ячейке (при записи или чтении);

± rwatch (read  watch) —  точка останова  выражения.  Останов происходит при чтении из указанной ячейки.

В окне Modify/New Breakpoint есть также поля:

± Name — имя функции или файла, в котором должен произойти останов;

± Line — номер строки, в которой должен произойти останов (только для точек останова типа file-line);

± Conditions — здесь указывается условие, при вычислении которого для оста- нова получится значение True. Формула условия должна быть набрана пропис- ными буквами;

± Ignore count — количество прохождений через заданную точку без останова.

После достижения указанного значения происходит останов.

Контролируемые выражения

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

Набор новых контролируемых выражений производится по команде Debug ®

Add Watch или с помощью нажатия комбинации клавиш <Ctrl>+<F7>. При этом появляется диалоговое окно, в котором видны и все ранее набранные выражения. Так как IDE использует GDB, то формулы должны набираться прописными бук- вами.

Список всех контролируемых выражений и их текущие значения отображаются в окне, открывающемся по команде Debug ® Watches. По нажатию клавиши <En- ter> или <Пробел> отображается текущее значение подсвеченного выражения.

Стек обращений

Стек обращений позволяет проследить динамику выполнения программы. В нем в обратном порядке отображены названия вызванных и еще не завершенных к мо- менту останова процедур. Для просмотра стека надо выполнить команду Debug ® Call stack. Здесь будут показаны имена и адреса всех активных процедур. Если им переданы параметры, то их значения тоже отображаются. При нажатии клавиши

<Пробел> на выделенной строке этого окна в поле редактора подсвечивается соот- ветствующая строка исходного файла.

Окно GDB

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

Источник: Кетков, Ю. Л., Свободное программное обеспечение. FREE PASCAL для студентов и школьников, Ю. Л. Кетков, А. Ю. Кетков. — СПб.: БХВ-Петербург, 2011. — 384 с.: ил. + CD-ROM — (ИиИКТ)

По теме:

  • Комментарии