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

а)                                           б)
Рис. 2.40

Окно наблюдения, встроенное в Инспектор Объектов: режим проектирования (а) и режим
отладки (б)

Если вы прошли несколько циклов и вам это надоело, можете перевести кур-
сор на оператор, следующий после цикла и задающий значение Label l->Caption.
Нажмите F4. Тем самым вы сказали отладчику, что ему надо без остановов выпол-
нять приложение до строки, указанной курсором. Все оставшиеся проходы цикла
будут выполнены без остановов и программа остановится на указанной вами стро-
ке.

Если после этого вы нажмете клавишу F7 или F8, то результат будет различ-
ным. При нажатии F8 вы просто перейдете к следующему оператору — закрываю-
щей фигурной скобке. А при нажатии F7 вы сначала попадете в заголовочный файл
dstring.h, в котором объявлены функции работы со строками типа AnsiString, к
которым вы неявно обращаетесь в операторе программы. И только после несколь-
ких нажатий F7 вы вернетесь в свою программу.

2.4.8.7 Точки прерывания

Выше мы рассмотрели останов приложения командой Run to Cursor — клави-
шей F4. Теперь рассмотрим более мощный инструмент — введение в приложение
точек прерывания (breakpoint).

Чтобы ввести простую (безусловную) точку прерывания достаточно в окне Ре-
дактора Кода щелкнуть мышью на полоске левее кода требуемой строки. Строка
окрасится в красный цвет и на ней появится красная точка (рис. 2.41). Если вы те-
перь запустите приложение на выполнение и начнете с ним работать, то произой-
дет прерывание выполнения, как только управление перейдет к строке, в которой
указана точка прерывания.

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