834 Часть V. Инструментарий программиста
Чтобы понять, как происходит пошаговое выполнение, проиллюстрируем это на примере простой программы. Наберите текст, показанный в листинге 29.1.
// DebugOl.cpp
#include <stdio.h>
#include <stdarg.h>
#include <iostream.h>
int AddNums(int x, int. y);
void main() {
int Result;
int x = 5;
int y;
Result = AddNums(x, y) ;
cout « "The returned value from AddNums is: " « Result « endl }
int AddNums(int x, int y) {
return (x + y) ;
Для пошагового выполнения этой программы надо выбрать команду Run to (Выполнить до) в меню Debug. Действие команды Run to во многом похоже на действие команды Run. Если программу перед выполнением необходимо скомпилировать, это будет сделано. Главное отличие в том, что программа не будет выполняться автоматически. При выборе Run to вы увидите окно диалога, подобное изображенному на рис. 29.2.
По команде Run to можно задать строку программы, до которой она должна быть выполнена. По умолчанию это первая выполняемая строка в главной программе (рис. 29.2). Можно продолжать последовательно выполнять программу по шагам, пока не будет достигнут конец, а можно в любом месте прекратить ее выполнение и проверить состояние различных ее частей. Чтобы выполнить один оператор, нажмите клавишу <F8>, или вызовите контекстное меню, нажав в любом месте текстового окна правую кнопку мыши. Это меню изображено на рис. 29.3. Для выполнения одной строки программы в меню выбирается опция Statement Step Over (Перешагнуть оператор).
? Опция Statement Step Over названа так по очень простой причине. Когда в
программе встречается обращение к функции, отладчик "перешагивает" это обращение. Это означает, что функция выполнена, результаты возвращены, но процесс ее выполнения остается за кадром. Выделенная строка просто перемещается на следующую за вызовом функции строку текста программы.