Шаг 42.
Отладчик Turbo Debugger for DOS.
Окно CPU. Область стека
На этом шаге мы рассмотрим возможности области стека.
Эта область показывает шестнадцатеричное содержимое программного стека (рисунок 1).
![](images/ris42_1.jpg)
Рис.1. Локальное меню области стека
Текущий указатель стека отмечается указателем >. Локальное меню этой области содержит
следующие команды:
- Команда Goto.... Выводит диалоговое окно Enter Address to Position To, где вы можете
ввести выражение, при вычислении которого получается адрес памяти, доступный программе.
- Команда Origin. Позиционирует курсор в текущую точку программы, на которую
указывает пара регистров CS:IP. Этой командой удобно пользоваться, когда необходимо вернуться к
исходной позиции в программе. С помощью команды Previos можно вернуть выделяющий курсор в подокне
кода в позицию, где он был установлен до выполнения команды Origin.
- Команда Follow. Позиционирует курсор в адрес назначения выделенной в данный момент
команды. Курсор в подокне кода позиционируется на команду с адресом, по которому выделенная
команда передает управление. Для команд условного перехода адрес указывается так, как если бы
данный переход был выполнен. Эту команду можно использовать с командами CALL, JMP, командами
условного перехода (JZ, JNE, LOOP, JCXZ и т.д.) и командой INT. С помощью команды
Previos можно вернуть выделяющий курсор в подокне кода в позицию, где он был установлен до
выполнения команыды Follow.
- Команда Previos. Возвращает выделяющий курсор в подокне кода в позицию, где он был
установлен до выполнения последней команды, которая изменила его позицию на экране. Позиция курсора, измененная
с помощью клавиш управления курсором и клавиш PgUp и PgDn, не может быть восстановлена с
помощью команды Previos. При выборе команды Previos позиция выделяющего курсора в подокне
кода запоминается, и при повторных выполнениях этой команды содержимое подокна будет переключаться между
двумя запомненными позициями.
- Команда Change.... Позволяет модифицировать байты по текущему месту расположения
курсора. При выводе в формате ASCII или шестнадцатеричном виде запрашивается список байт, в противном
случае - элемент текущего формата вывода.
Мы закончили рассмотрение возможностей отладчика Turbo Debugger for DOS. В предыдущих шагах была
изучена работа отладчика Turbo Debugger, а именно:
- интерфейс отладчика;
- подробно описан каждый пункт глобального меню;
- изложена информация об окнах, которые используются для анализа и изменения данных, а также проверки и модификации файлов требуемой программы;
- были рассмотрены локальные меню окон, которые Turbo Debugger использует при отладке приложений;
- рассмотрен пример работы отладчика с приложением, написанным на языке программирования Pascal.
Были введены понятия простых, условных и глобальных точек останова; способы задания и действия, выполняемые по
точкам останова; их удаление.
В последних шагах были рассмотрены области окна CPU (область кода, регистров, флагов, дампа и стека),
необходимые для описания и отладки приложений на нижнем уровне.
Предыдущий шаг
Содержание