Команды отладчика
Средства защиты памяти включают в себя команды отладчика, предназначенные
для работы со средой защиты памяти и получения информации об этой
среде. Команды отладчика кратко поясняются и описываются ниже.
Команда | Действие |
.A | Выводит на экран причину аварийного завершения или прерывания программы. |
B | Выводит все текущие точки останова. |
BC номер | Очищает заданную точку останова. |
BCA | Очищает все точки останова. |
B = адрес{условие} | Устанавливает точку останова при выполнении по заданному адресу. |
BW = адрес{условие} | Устанавливает точку останова при записи по заданному адресу. |
BR = адрес{условие} | Устанавливает точку останова по чтению/записи по заданному адресу. |
C адрес | Изменяет содержимое памяти в интерактивном режиме. |
С адрес=числа | Изменяет содержимое память в соответствии с заданным значением (значениями). |
C адрес="текст" | Изменяет содержимое памяти по указанному адресу на заданные текстовые значения (ASCII). |
.C | Выполняет диагностический дамп памяти на дискету. |
D адрес{длина} | Выполняет дамп памяти нужной длины. |
DL{+смещение_связи} адрес{длина} | Выполняет дамп памяти, начиная с заданного адреса, с возможным указанием длины и с перебором связанного списка (по умолчанию смещение в поле связи равно 0). |
REG=значение | Изменяет содержимое заданного регистра на новое значение. Здесь REG - это EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP, EIP или EFL. |
F флаг=значение | Изменяет бит флага на заданное значение (0 или 1). Здесь флаг может принимать значения CF, AF, ZF, SF, IF, TF, PF, DF или OF. |
G{адеса(а)_прерыв} | Начинает выполнение по текущему EIP и устанавливает необязательные временные точки останова. |
H | Выводит справочный экран по основным командам отладчика. |
HB | Выводит справочный экран по работе с точками останова. |
HE | Выводит справочный экран по выражениям. |
.H | Выводит справочный экран по командам с точкой. |
/h | Выводит справочных экран по отладки областей (для команд, связанных с защитой памяти). |
I[B;W:D}PORT | Вводит значения типа BYTE, WORD или DWORD из указанного порта PORT (по умолчанию вводится BYTE). |
M начало{длина} байтовый_шаблон(ы) | Ищет в памяти указанный байтовый шаблон (длина не обязательна; если она не указывается, то поиск выполняется во всей оставшейся памяти). |
.M | Выводит на экран имена и адреса загруженных модулей. |
N имя адрес | Определяет новый идентификатор с указанным именем по заданному адресу. |
N -имя | Удаляет идентификатор с заданными именем. |
N-- | Удаляет все определенные идентификаторы. |
O{B;W;D}PORT=знач | Выводит в указанный порт значение типа BYTE, WORD или DWORD. |
P | Продолжает выполнение со следующей инструкции. |
.P | Выводит все адреса и имена процессов. |
.P<адрес> | Выводит <адрес> как блок PCB (Process Control Block). |
Q | Выполняет выход и возврат в DOS. |
R | Выводит регистры и флаги. |
.R | Выводит блок PCB (Process Control Block). |
S | Выполнение по шагам. |
.S | Выводит все имена и адреса экранов. |
.S<адрес> | Выводит в качестве структуры экрана <адрес>. |
T | Пошаговое выполнение. |
U адрес {счетчик} | Дизассемблирует указанное число инструкций, начиная с заданного адреса. |
V | Просмотр экранов сервера. |
.V | Выводит на экран версию сервера. |
Zвыражение | Вычисляет выражение (см. справочный экран HE). |
?{адрес} | Если загружена информация об идентификаторах, то на экран выводятся идентификаторы, ближайшие к указанному адресу (по умолчанию EIP). |
Для повторения команд D, DL, M, P, S, T и U используйте клавишу
Enter.