Обратное выполнение
Каждую выполненную инструкцию Turbo Debugger регистрирует в
протоколе выполнения (при трассировки программы). С помощью окна
протокола выполнения Execution History вы можете просмотреть выполненные инструкции и вернуться в нужную точку программы. Команда обратного выполнения Reverse Execute выполняется по клавишам
Alt+F4. Turbo Debugger может регистрировать около 400 инструкций.
Здесь действуют следующие правила:
помощью команды Trace Into (F7) или Instruction Trace
(Alt+F7). Однако, если не выполняются отдельные инструкции
(перечисленные ниже), то регистрируются также команды Step
Over.
Если вы не трассируете прерывание с помощью Alt+F7, то об ратное выполнение этой инструкции невозможно.
выполнение за инструкцию после возврата невозможно.
(отменить чтение и запись нельзя).
и не отлаживаете DLL).
В окне CPU обратное выполнение доступно всегда, а для обратного выполнения исходного кода нужно установить Full History в On
(в меню Execution History). Меню Execution History содержит также
команды Inspect и Reverse Execute. Команда Inspect переводит вас
к команде, подсвеченной в области Instruction. Если это строка
исходного кода, она выводится в окне Module. При отсутствии исходного кода открывается окно CPU и подсвечивается инструкция в
области Code. Действие инструкций IN, INSB, INSW, OUT, OUTSB,
OUTSW отменить невозможно, поэтому их обратное выполнение может
давать побочные эффекты.
TD.EXE имеет в окне Execution History дополнительную область, позволяющую вам вернуться в нужную точку программы при
случайной потере протокола. Область Keystroke Recording в нижней
части этого окна активизируется при разрешении регистрации нажатий клавиш (это можно сделать с помощью TDINST или параметра -k
командной строки).
Область Keystroke Recording показывает причину передачи управления отладчику (например, точка останова) и текущий адрес
программы с соответствующей строкой исходного кода или машинной
инструкцией. Turbo Debugger регистрирует все нажимаемые вами клавиши и записывает их в файл XXXX.TDK, где XXXX - это имя отлаживаемой программы. Локальное меню этой области содержит команды
Inspect и Keystroke Restore. По команде Inspect отладчик активизирует окно Model или CPU, в котором курсор позиционирован на ту
строку, где нажата клавиша. Команда Keystroke Restore перезагружает программу и выполняет ее до строки, подсвеченной в области
Keystroke Recording.