836 Часть V. Инструментарий программиста
Чтобы проиллюстрировать вышеизложенное, "перешагнем" вызов функции AddNums (). Можно заметить, что такой шаг длится чуть дольше прочих. Это вызвано тем, что отладчик должен обратиться к функции, выполнить ее и вернуть результат, прежде чем переместиться на следующую строку текста программы и остановиться в ожидании дальнейших ваших указаний. А что, если нужно войти в функцию и проследить логику изменения значений переменных внутри нее? Для этой цели служит опция контекстного меню Statement Step Into (Шагнуть в оператор). Чтобы прекратить выполнение программы, нужно выбрать в меню Debug опцию Terminate process (завершить процесс). В следующем разделе рассматривается, как трассировать выполнение функции AddNuins"().
Трассировка программы
Трассировка (отслеживание) выполнения программы во многом похожа на пошаговое выполнение с одним небольшим отЯичием. Если строка текста программы содержит обращение к функции, отладчик переключится на эту функцию и будет ожидать дальнейших указаний. В примере *из листинга 29.1 выберем опцию Statement Step Over, как показано на рис. 29.3. Будем выполнять программу по шагам до тех пор, пока выделенная строка не установится на вызове функции AddNums (). Вместо опции Statement Step Over выберем опцию Statement Step Into. Вы увидите, что отладчик перейдет внутрь функции и остановится, ожидая вашу следующую команду, как это показано на рис. 29.4.
Рис.29.4. Трассировка функции