Глава 29. Встроенный отладчик ____ 837

Как видно из рис. 29.4, любую функцию можно выполнять по шагам точно так же, как функцию main(). Отладчик был бы практически бесполезен, если бы можно было выполнить по шагам лишь одну эту функцию. Легко понять, что обе команды, Statement Step Over и Statement Step Into, приходится применять достаточно часто, однако выполнять построчно достаточно большую программу может быть довольно утомительно. В большинстве случаев нужно, чтобы программа выполнилась до определенного места, а затем остановилась, ожидая, пока вы решите, что следует проверить или что делать дальше. Для этого существуют точки останова.

Назначение точек останова

Точки останова (breakpoints) в сочетании с пошаговым выполнением и трассировкой функции составляют мощный набор инструментов, которые позволяют выполнить программу до определенного места, затем остановить ее и выяснить, работает ли программа так, как ожидалось. Наберите текст, приведенный в листинге 29.2.

// Debug02.cpp ftinclude <iostream.h>

void main(void)

{

int LoopCtr = 0;

int NumArray[5];

do {

NuinArray [LoopCtr] = LoopCtr+5;

LoopCtr ++;

} while ( LoopCtr < 5) ;

LoopCtr == 0;

do {

cout « "NumArray[" « LoopCtr « "] holds the number « NumArray[LoopCtr] « endl;

LoopCtr ++;

} while ( LoopCtr < 5) ;

После ввода текста программы переместите курсор в строку, где обнуляется переменная LoopCtr. Выберите опцию Add breakpoint (Добавить точку останова) из меню Debug. Появится окно диалога, позволяющее задать свойства точки останова (рис. 29.5).

Окно диалога Add Breakpoint позволяет определить, как должна действовать точка останова. Можно задавать точки безусловного останова, при достиже-