Turbo Debugger 5.0: Руководство по применению, при выполнении лабораторных работ, страница 12

Горячей клавишей, инициирующей данную директиву, является управляющая клавиша F4.

RUN /Execute to

Опция Executeto(выполнение до…) инициирует исполнение отлаживаемой программы с остановом в заранее определяемом месте. При этом вам предлагается подсказка для задания адреса, по которому программа должна остановиться. Этот адрес можно вводить в любом разрешенном адресном формате.

Горячей клавишей, инициирующей выполнение данной директивы, является совместное нажатие управляющих клавиш Alt и F9 (Alt-F9).

Задавать адрес останова можно следующим образом:

- константой, которую Турбоотладчик суммирует со значением в соответствующем сегментном регистре (например,  DS для смещения данных, CS – для кодового смещения);

- выражением, которое определяет месторасположение в памяти. Вы можете задать имя переменной, например «myvar», номер строки в исходной программе, например №123 или языковое выражение (language expression), которое определяет месторасположение в памяти, например – «abc[4].def».

RUN /Animate

Опция Animate (оживление) является самоповторяющейся директивой трассировки. Инструкции или строки исходной программы выполняются непрерывно до тех пор, пока не будет нажата управляющая клавиша Esc.

Изменение изображений на экране Турбоотладчика отображает состояние текущей программы после каждого шага трассировки, что позволяет следить за последовательностью выполнения отлаживаемой программы. При этом вам предлагается подсказка для задания скорости шагов исполнения инструкций.

RUN /Run

Опция Run инициирует программу на непрерывное исполнение до тех пор, пока не встретится контрольная точка останова, или пока выполнение программы не прерывается директивой Interruptkeyили же в связи с окончанием программы.

Обычно, директива Interruptkey подается при одновременном нажатии управляющих клавиш Ctrl и Break (Ctrl/Break), хотя допускается настройка и на другие комбинации клавиш.

Горячей клавишей, реализующей директиву Run, является управляющая клавиша F9.

RUN /Until Return

Опция UntilReturn(локальный возврат) инициирует непрерывный режим исполнения отлаживаемой программы до тех пор, пока текущая исполняемая функция или процедура не вернется в точку своего вызова.

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

Горячей клавишей, реализующей эту директиву, является совместное нажатие клавиш Alt и F8 (Alt-F8).

RUN /Instruction Trace

Директива InstructionTrace(трассировка инструкций) инициирует выполнение одной машинной команды. После применения данной директивы вы, обычно, остаетесь в окне CPU.

Пользуйтесь этой директивой, если вы хотите:

- выполнить трассировку TraceInto по прерыванию в окне CPU;

- выполнить трассировку TraceIntoфункции в модуле, который не компилирован с отладочной информацией;

- проследить исполнение каждой инструкции, которая составляет строку исходной программы.

Горячей клавишей этой директивы является Alt-F7, т.е. одновременное нажатие управляющих клавиш Alt и F7.

RUN /Back Trace

Директива BackTrace (отмена шага трассировки) отменяет исполнение последней выполненной инструкции или оператора исходного файла программы. Состояние процессора и памяти восстанавливаются к тому состоянию, которое они имели перед подачей директивы трассировки данной инструкции или строки исходной программы.

Горячей клавишей этой директивы является Alt-F4, т.е. ее инициирование происходит при одновременном нажатии клавиш Alt и F4.

Проконтролировать сохранение информации при трассировке позволит вам панель предыстории (Historypane) в  окне фиксации исполнения программы, которая содержит перечень запомненных шагов.

RUN /Arguments

Опция Arguments (параметры) позволяет задавать или изменять параметры в командной строке при отладке программы.

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

RUN /Program Reset

Инициализация опции ProgramReset(программный сброс) перезагружает текущую программу с диска. Эта директива используется в случае, если выработали с программой слишком далеко от начала сеанса отладки и необходим рестарт исполнения на начало программы.

Эта директива необходима, поскольку вы обычно не можете осуществить рестарт программы просто переводом начала исполнения на начало программы. Полная перезагрузка с диска реинициализирует (инициализирует повторно) элементы данных, с которыми программа должна иметь дело, как и тогда, когда она стартовала первый раз.

Горячей клавишей, инициирующей эту директиву, является Ctrl-F2, т.е. одновременное нажатие клавиш Ctrl и F2.

                              - BREAKPOINTS -

Опция глобального меню Breakpointsвключает в себя ряд директив, которые позволяют под управлением контрольных точек, заданных пользователем, осуществлять различные операции при отладке программ, существенно облегчающих сам процесс отладки.

Как уже упоминалось, под контрольными точками понимаются адреса команд отлаживаемой программы, по достижении которых в процессе выполнения программ, при выполнении некоторых, заранее заданных условий, осуществляются определенные, также заранее заданные действия.

Таким образом, любая контрольная точка характеризуется тремя основными атрибутами (характеристиками):

- месторасположением, т.е. адресом контрольной точки;

- условиями (condition), при которых срабатывает заданная

   контрольная точка;

- характером действия (action), которое осуществляется после

  достижения места установки  контрольной точки и ее

  срабатывания.

В Турбоотладчике понятие Breakpointsвключает в себя контрольные точки останова (собственно Breakpoints), контрольные точки наблюдения (Watchpoints) и контрольные точки трассировки (Tracepoint), которые используются и в других отладчиках.