Шаг 42.
Отладчик Turbo Debugger for DOS.
Окно CPU. Область стека
На этом шаге мы рассмотрим возможности области стека.
Эта область показывает шестнадцатеричное содержимое программного стека (рисунок 1).
Рис.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 (область кода, регистров, флагов, дампа и стека),
необходимые для описания и отладки приложений на нижнем уровне.
Предыдущий шаг
Содержание