112 Глава 2

то условная точка прерывания позволила бы нам определить, на каком именно
проходе произошла ошибка. Для этого можно в окне задания свойств точки преры-
вания указать большое значение Pass Count, например, 50. Тогда, конечно, преры-
вание в этой точке не произойдет, поскольку раньше буде зафиксирована ошибка.
Но если после прерывания вследствие этой ошибки вы посмотрите окно Breakpoint
List, то увидите, что там указано, сколько произошло проходов через точку преры-
вания с выполнением заданного условия.

Мы рассмотрели задание точки прерывания в указанной строке исходного
кода. Еще большие возможности дает задание прерывания при записи в указан-
ную вами переменную. В этом случае вы не устанавливаете, на какой строке кода
хотите прервать выполнение. Прерывание произойдет на том операторе, который
занесет в указанную вами переменную (глобальную или статическую — см. главу
11 раздел 11.4.2) некоторое значение, если будут выполнены указанные вами усло-
вия. Так в нашем примере мы можем поставить условием прерывания занесение в
переменную А числа, превышающего 10300.

Поскольку отладчик не знает адреса переменных, пока приложение не загру-
жено в память, то прежде, чем задавать точку прерывания, в данном случае надо
запустить приложение на выполнение. Затем, не закрывая приложения и ничего с
ним не делая, вернитесь в ИСР C++Builder. В окне Breakpoint List щелкните пра-
вой кнопкой мыши и во всплывшем меню выберите команду Add. Из предложен-
ных вам трех вариантов точек прерывания выберите Data Breakpoint — прерывание
при изменении данных по заданному адресу. Откроется окно (рис. 2.44), подобное
рассмотренному ранее (см. рис. 2.42 б). Только в здесь в окне редактирования Ad-
ress задается переменная, при изменении которой наступает прерывание. Окна
Condition и Pass Count имеют тот же смысл, что в окне рис. 2.42 б.

Рис. 2.44

Окно ввода точки прерывания по адресу

Занеся в окно данные, показанные на рис. 2.44, нажмите ОК, а затем продол-
жите выполнение приложения. Прерывание произойдет в момент, когда в А будет
записано значение, превышающее 10300. При этом в коде будет выделен оператор,
который заносит в А это значение.

2.4.8.8 Использование окна Инспектора Отладки Debug Inspector

В C++Builder 4 имеется еще одно средство отладки — Инспектор Отладки De-
bug Inspector. Инспектор Отладки позволяет вам получить исчерпывающую ин-
формацию о любой переменной в приложении и дает возможность, как и окно
оценки и модификации Evaluate/Modify, изменить значение переменной и продол-
жить выполнение приложения с этим новым значением.

Вызов этого инструмента осуществляется командой Run | Inspect, которая до-
ступна только во время выполнения приложения при останове средствами отладки
или вследствие генерации исключения. При останове вы можете поставить курсор
в ркне Редактора Кода на имя интересующей вас переменной и выполнить коман-
ду Run I Inspect. Другой способ — вызвать ту же команду из всплывающего меню
(Debug | Inspect). Ну, а проще всего — нажать «горячие» клавиши A11+F5. Попро-
буйте сделать это при генерации исключения в нашем тестовом приложении. Если