Отладка программ

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

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

 

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

Открыв диалог Project Options на странице Compiler, нажмите кнопку Full debug. Будут установлены все параметры компилятора и компоновщика, необходимые для отладки.

Полезно посмотреть на различные меню, имеющие отношение к отладке.

На ознакомительном этапе обратим внимание только на пункты, выделенные красным цветом

 

Таблица 1. Пункты меню Viev | Debug Windows

Пункт Клавиша Описание
Breakpoints Ctrl+Alt+B Открывает окно списка контрольных точек, показывающее активные контрольные точки и их свойства.
Call Stack Ctrl+Alt+S Открывает окно стека вызовов. Стек показывает, какие и в каком порядке вызывались функции, прежде чем управление достигло текущей точки программы.
Watches Ctrl+Alt+W Открывает окно наблюдения за переменными. Окно отображает список наблюдаемых переменных с их текущими значениями.
Local Variables Ctrl+Alt+L Открывает окно локальных переменных. В нем отображаются значения всех локальных переменных текущей функции.
Threads Ctrl+Alt+T Окно активных процессов и линий потока управления (threads).
Modules Ctrl+Alt+M Окно загруженных модулей — исполняемых файлов, динамических библиотек и пакетов запущенного проекта.
Event Log Ctrl+Alt+E Отображает протокол событий, происходящих при запуске проекта; какие события будут регистрироваться, можно задать на странице Event Log диалога Debugger Options.
CPU Ctrl+Alt+C Открывает окно состояния процессора. Отображает, в частности, компилированный код программы и содержимое регистров.
FPU Ctrl+Alt+F Открывает окно состояния FPU, отражающее содержимое его регистров и флагов.

Таблица 5.2. Пункты меню Run

Пункт Клавиша Описание
Run F9 Запускает программу, при необходимости производя перед этим её сборку (Make).
Attach to Process...     Прикрепляет отладчик к уже выполняющемуся в данный момент процессу.
Parameters...     Позволяет ввести аргументы командной строки или указать приложение, которое является “хозяином” отлаживаемой DLL.
Step Over F8 Исполняет текущую строку исходного кода и переходит к следующей строке.
Trace Into F7 Исполняет текущую строку исходного кода; если строка содержит вызов функции, переходит к трассировке последней.
Trace to Next Source Line Shift+F7 Исполняет программу до следующей строки исходного кода. Например, если программа вызывает функцию API, требующую возвратно-вызываемой процедуры, отладчик остановит выполнение на входе в эту процедуру.
Run to Cursor F4 Исполняет программу до строки исходного кода, в которой установлен курсор редактора.
Run Until Return Shift+F8 Исполняет программу до возврата из текущей функции
Show Execution Point     Устанавливает курсор редактора кода на строку, в которой приостановлена программа.
Program Pause     Приостанавливает выполнение программы, как только управление попадает в наличный исходный код.
Program Reset Ctrl+F2 Закрывает программу.
Inspect...     Открывает диалог Inspect, в котором можно ввести имя инспектируемого объекта.
Evaluate/Modify... Ctrl+F7 Открывает диалог Evaluate/Modify
Add Watch... Ctrl+F5 Открывает диалог Watch Properties
Add Breakpoint     Каскадное меню, позволяющее устанавливать контрольные точки различного вида (в исходном коде, на адресе, на данных, точки загрузки модуля).

 

Ну а теперь мы поговорим о том, чем управляют все эти меню и какие вообще инструментальные средства отладки имеются в распоряжении программиста.