Система визуального объектно-ориентированного проектирования C++Builder 111

а)                                            б)
Рис. 2.42

Окно точек прерывания (а) и окно задания свойств точки (б)

ки, в которой установлена точка прерывания. Следующее окно Condition предназ-
начено для задания условия, при выполнении которого должно осуществляться
прерывание. В нашем случае вы можете в качестве такого условия написать

i == 26

Это обеспечит прерывание только на той итерации, когда i = 26. Последнее
окно Pass Count позволяет указать, при котором по счету проходе с выполнением
заданного условия надо осуществить прерывание. В нашем примере это надо сде-
лать на втором проходе, так что в это окно следует занести 2. Индикатор Keep exis-
ting Breakpoint позволяет сохранить точку с заданными ранее параметрами плюс
точку с новыми параметрами. В нашем примере включать этот индикатор не сле-
дует.

Щелкните на ОК. Вы вернетесь в окно Breakpoint List, в котором появится со-
ответствующая строчка условий прерывания (рис. 2.42 а). Обратите внимание на
последний элемент строки: «О of 2». Он говорит, что пока из заданных двух выпол-
нении условия прерывания не были ни одного.

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

А:=А*10000;

при состоянии приложения, когда i = 26, причем второй раз. Окна наблюдения и
списка точек прерывания в этот момент показаны на рис. 2.43, на котором одно из
этих окон встроено в другое — как видите, такое встраивание довольно удобно. В
окне списка точек прерывания указано, что выполнено 2 прохода из двух задан-
ных.

После останова вы можете пройти по шагам (с помощью клавиши F7) послед-
ний цикл перед появлением ошибки.

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

Рис. 2.43

Окна наблюдения и точек
прерывания, объединенные в
одно окно