На этом шаге мы рассмотрим различные способы пошагового выполнения программы.
Во время работы программы ее инструкции выполняются одна за другой со скоростью работы процессора компьютера. При этом программист не может определить, какая инструкция выполняется в данный момент, и, следовательно, выяснить, соответствует ли реальный порядок выполнения инструкций разработанному им алгоритму.
В случае неправильной работы программы необходимо видеть реальный порядок выполнения инструкций. Это можно сделать, выполнив трассировку программы. Трассировка — это процесс выполнения программы по шагам (step-by-step), инструкция за инструкцией. Во время трассировки программист дает команду: выполнить очередную инструкцию программы.
Существуют два режима трассировки:
Рис.1. Режимы трассировки
Режим трассировки без захода в процедуру производит трассировку выбранной функции, при этом трассировка подпрограмм не осуществляется, вся подпрограмма (функция) выполняется за один шаг. В режиме трассировки с заходом в процедуру (функцию) осуществляется трассировка всей программы, т. е. по шагам выполняется не только главная программа, но и все подпрограммы.
Для того чтобы начать трассировку, необходимо в меню Debug (Отладка) выбрать команду Step Over (Шаг с обходом). В результате в окне редактора кода будет выделена первая выполняемая инструкция программы. Для того чтобы эта инструкция была выполнена, надо еще раз в меню Debug (Отладка) выбрать команду Step Over (Шаг с обходом) или нажать клавишу F10. После выполнения текущей инструкции будет выделена следующая. Таким образом, нажимая клавишу F10, можно видеть процесс выполнения программы.
В любой момент времени можно завершить трассировку и продолжить выполнение программы в реальном темпе. Для этого в меню Debug (Отладка) надо выбрать команду Continue (Продолжить) или нажать клавишу F5.
Во время трассировки можно наблюдать не только порядок выполнения инструкций программы, но и значения переменных. О том, как это сделать, мы расскажем в следующих шагах.
На следующем шаге мы рассмотрим точки останова программы.