Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отладчик программ AFD.doc
Скачиваний:
254
Добавлен:
08.03.2015
Размер:
163.33 Кб
Скачать

1.4. Окна памяти.

Следующие два окна предназначены для отображения (и коррекции) содержимого областей памяти. Первое из этих окон (назовем его "Первое окно памяти") расположено в правой части экрана под колонками Stack и FLAGS окна регистров (в верхнем левом углу этого окна стоит индекс 1).

Левая колонка рассматриваемого окна содержит сведения об адресах отображаемой области данных. Адреса задаются в формате "сегмент:смещение". В качестве сегмента может выступать один из сегментных регистров процессора(CS, DS, ES или SS), либо дополнительный регистр отладчика HS или FS. Смещение всегда задается в числовой форме (НЕХ - формат).

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

Пример.

Отобразить содержимое области памяти, находящейся в сегменте DS, начиная со смещения 100.

Для решения этой задачи необходимо отредактировать верхнюю строку колонки адресов окна 1 с таким расчетом, что бы строка приняла значение DS:0100.

Справа от колонки адресов индицируется содержимое искомой области данных. При этом одновременно на экране отображается 80 байтов(10 строк, по 8 байтов в каждой) в НЕХ - формате. Для навигации по области данных используются клавиши - стрелки, а также клавиши PgDn ("на страницу ниже") и PgUp ("на страницу выше").

Таким образом, пользователь может посредством курсора указать на любой байт памяти и затем отредактировать его, задав новое значение.

Аналогичными функциями обладает "Второе окно памяти". Это окно расположено внизу экрана над строкой-подсказкой (в верхнем левом углу окна стоит индекс 2). Заметим, что для отображения 80 байтов памяти в этом окне используется формат: 6 строк по 16 байтов в каждой. При этом окно поделено на две секции: в левой секции данные представлены в НЕХ - формате (аналогично окну 1), а в правой - те же самые данные представлены в ASCII - формате. Переключение между секциями реализуется посредством "горячих клавиш" F9 и F10(см. строку - подсказку).

Таким образом, по сравнению с первым второе окно памяти обладает большими возможностями, т.к. позволяет наблюдать и редактировать данные не только в НЕХ, но и в ASCII - формате.

1.5. Окно командной строки.

Окно командной строки находится в центре экрана и имеет идентификатор CMD. Это самое маленькое окно отладчика и предназначено для ввода текстовых команд - командных строк AFD.

Вот примеры некоторых командных строк:

AХ=0 - очистить регистр процессора АХ;

BL=FF - установить регистр BL в состояние FF;

CF=0 - очистить флаг CF;

L pr1 - загрузить в отладчик программу pr1.exe;

G - запустить загруженную программу.

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

Дело в том, что работа в окне CMD связана с формированием последовательности командных строк. Причем часто в этой последовательности встречаются одни и те же команды. Для того чтобы избежать повторного ввода ранее введенных команд, нужно воспользоваться "горячей клавишей" F3 (см. строку-подсказку). При нажатии на эту клавишу отладчиком выполняются следующие действия:

1) становится активным окно CMD;

2) в окне отображается предыдущая командная строка.

Таким образом, многократно нажимая на F3, можно поместить в окно CMD все командные строки, введенные ранее. Для реализации любой команды данной последовательности достаточно нажать клавишу ENTER в тот момент, когда соответствующая командная строка будет находиться в окне CMD.