Шаг 8.
Отладчик Turbo Debugger for DOS.
Меню Run
На этом шаге мы рассмотрим пункты меню Run.
Меню Run (рисунок 1) содержит несколько параметров для выполнения различных частей вашей программы.
Поскольку эти параметры часто используются, им соответствуют функциональные клавиши.

Рис.1. Меню Run
Перечислим назначение указанных в даном пункте меню подпунктов.
- Команда Run. Запускает вашу программу на выполнение. При наступлении одного из
следующих событий управление передается отладчику:
- ваша программа завершила выполнение;
- обнаружена точка останова с действием прерывания;
- прервали выполнение с помощью клавиши прерывания;
- выполнение программы остановлено из-за ошибки;
- возникли отмеченные исключительные ситуации С или С++.
- Команда Go to cursor. Выполняет программу до той строки, где находится курсор (в
текущем окне Module или области Code окна CPU). Если текущим окном является окно
Module, курсор должен находиться на строке исходного кода внутри функции.
- Команда Trace into. Выполняет одну строку исходного кода или машинную инструкцию.
Если текущая строка содержит вызов процедуры или функции, то отладчик выполняет трассировку этой процедуры.
Однако если текущим окном является окно CPU, то выполняется одна машинная инструкция. Если текущим
является окно Module, то выполняется строка исходного кода.
- Команда Step over. Выполняет одну строку исходного кода или машинную инструкцию,
минуя трассировку вызываемой процедуры или функции. При этом обычно выполняется одна строка исходного текста
программы. Если вы используете Step over при расположении указателя на инструкции вызова, то
Turbo Debugger полностью отрабатывает эту функции и переводит вас к оператору после вызова функции.
- Команда Execute to.... Выполняет вашу программу до адреса, который вы ввели в ответ
на подсказку в диалоговом окне Enter Code Address to Execute To (рисунок 2). Программа может не достичь
этого адреса, если встречается точка останова или вы прерываете выполнение.

Рис.2. Поле запроса
- Команда Until return. Выполняет текущую процедуру или функцию, пока она не возвратит
управление вызывающей программе. Это полезно использовать при двух обстоятельствах: если вы случайно вошли в
процедуру или функцию, выполнение которой вас не интересует (с помощью команды Run Trace вместо
команды Run Step), или когда вы определили, что текущая функция работает правильно, и не хотите медленно
проходить по шагам ее оставшуюся часть.
- Команда Animate.... Выполняет непрерывную последовательность команд Trace.
Это позволяет вам наблюдать за текущим адресом в исходном коде и видеть изменение значений переменных. Прервать
выполнение данной команды можно нажатием любой клавиши. После выбора команды Run | Animate вам
выведется подсказка для ввода значения интервала временной задержки между последовательными трассировками
(в десятых долях секунды). По умолчанию используется значение 3.
- Команда Back trace. Если вы выполняете трассировку программы (с помощью оперативных
клавиш F7 или Alt+F7), то команда Back Trace изменяет порядок выполнения на обратный.
Это средство удобно использовать, если вы проскочили место предполагаемой ошибки и хотите вернуться к этой точке. Данная
команда позволяет вам выполнить программу "в обратном порядке" по шагам или до заданной (подсвеченной) точки
в области инструкций окна Execution History. В окне CPU обратное выполнение доступно всегда, а
для исходного кода в окне Full History параметр Execution History нужно установить в On.
- Команда Instruction trace. Выполняет одну инструкцию. Ее можно использовать, когда
вы хотите трассировать прерывание, или когда вы находитесь в окне Module и хотите выполнять трассировку
процедуры или функции, которая находится в модуле без отладочной информации (например, библиотечной
подпрограмме). Так как вы больше не будете находиться в начале строки исходного теста, эта команда обычно
переводит вас в окно CPU.
- Команда Arguments. Позволяет вам задать новые аргументы программы. Введите аргументы
программы, как они задаются после имени программы в командной строке. После этого отладчик запрашивает,
хотите ли вы перезагрузить отладчик с диска. Следует ответить "Yes".
- Команда Program reset. Команда Program Reset перезагружает отлаживаемую
вами программу с диска. Ее можно использовать в следующих случаях:
- выполнение "зашло слишком далеко", то есть пройдено то место, где имеется ошибка;
- ваша программа завершила работу и вы хотите запустить ее снова;
- если вы работаете в окне CPU, приостановили выполнение программы с помощью прерывания и хотите завершить ее и начать сначала.
На следующем шаге мы рассмотрим меню Breakpoints.
Предыдущий шаг
Содержание
Следующий шаг