Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_работы_1-7.doc
Скачиваний:
25
Добавлен:
16.11.2019
Размер:
2.11 Mб
Скачать

7.1.2Адресные контрольные точки

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

Адресные контрольные точки и их свойства устанавливаются в диалоге, вызываемом командой Run>Add Breakpoint>Address Breakpoint... главного меню или из контекстного меню окна Breakpoint List. Установить адресную точку можно только во время исполнения программы или при ее остановке (например, в другой контрольной точке). При дальнейшем выполнении программы отладчик приостановит ее на инструкции с указанным адресом. Если эта инструкция соответствует некоторой строке исходного кода, контрольная точка будет показана в окне редактора. В противном случае она будет отображена в панели дизассемблера окна CPU.

7.1.3Контрольные точки данных

Контрольные точки на данных также устанавливаются при запущенной программе в диалоге, вызываемом командной Run>Add Breakpoint>Data Breakpoint... или Add Data Breakpoint в контекстном меню списка контрольных точек (рис. 5.5).

Рис. 5.5 Диалог Add Data Breakpoint

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

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

(левая половина окна)

(правая половина окна)

Рис. 5.6 Контрольные точки загрузки модуля

Команда Run Add Breakpoint>Module Load Breakpoint... открывает диалог Add Module, в котором задается имя файла (.exe, .dll, .осх или .bpl) для внесения его в список окна Modules. Загружаемые в память во время исполнения программы модули заносятся в это окно автоматически, однако если вы хотите, чтобы загрузка модуля вызывала остановку, то должны вручную ввести имя файла в список окна Modules до того, как модуль будет загружен (например, перед запуском программы).

На рис. 5.6 показано окно Modules. Добавить новый модуль в окно можно и через его контекстное меню (Рис. 5.7).

Рис. 5.7

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

7.2Команда Run to Cursor

Если установить курсор редактора кода на некоторую строку исходного кода и запустить программу командой Run to Cursor главного или контекстного меню редактора (можно просто нажать F4), то курсор будет играть роль “временной контрольной точки”. Достигнув строки, где находится курсор, программа остановится, как если бы там находилась простая контрольная точка.