Nv up di ng nz ac pe nc - pleicy
Debug.exe завершит выполнение подкоманды r и выведет приглашение debug. Для просмотра изменений воспользуйтесь командой r или rf. Программа Debug.exe выводит следующие сведения:
NV UP EI PL NZ AC PE CY - _
Нажмите клавишу ENTER для возврата к приглашению программы debug.
S (search)
Поиск в области памяти по шаблону из одного или нескольких байт.
sдиапазон список
диапазон- начальный и конечный адреса области памяти, в которой будет производиться поиск.
список - шаблон из одного или нескольких байт или символьной строки для поиска.
Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:
Cs:100 10f
Cs:100 l 10
Если используется параметр список, отделяйте значение каждого байта пробелом или запятой, а строки заключайте в кавычки (т. е. "строка"). Если список содержит несколько значений, выводится только первый адрес, в котором встречается данное значение. Если список содержит только одно значение, выводятся все адреса из указанного диапазона, в которых встречается данное значение.
Примеры
Чтобы найти все адреса в диапазоне от CS:100 до CS:110, содержащие значение 41, введите следующую команду:
Scs:100 110 41
Результаты программы Debug.exe будут выведены в следующем формате:
04BA:0104
04BA:010D
Чтобы найти строку «Ph» в диапазоне от CS:100 до CS:1A0, введите следующую команду:
scs:100 1a0 "Ph"
T (trace)
Выполнение одной инструкции с выводом содержимого регистров, флагов состояния и декодированной формы выполняемой инструкции. При запуске подкоманды t без параметров выполнение начинается с адреса, указанного в регистрах CS:IP программы.
t [=адрес] [число]
адрес, с которого Debug.exe начнет выполнение инструкций.
число инструкций для выполнения.
Указанное значение должно быть шестнадцатеричным числом. По умолчанию значение равно 1.
Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены.
Подкоманда t использует аппаратный режим трассировки микропроцессоров 8086 и 8088. Можно трассировать инструкции, хранимые в ПЗУ.
Примеры
Если текущая позиция указателя кода является 04BA:011A, Debug.exe выведет следующие сведения:
AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A NV UP DI NG NZ AC PE NC 04BA:011A CD21 INT 21
U (unassemble)
Деассемблирование байтов и просмотр соответствующего исходного кода, включая адреса и двоичные значения. Деассемблированный код выводится в формате, похожем на распечатку ассемблерного файла. Выполненная без параметров подкоманда u деассемблирует 20h байт (значение по умолчанию), начиная с первого адреса после адреса, использованного в предыдущей подкоманде u.
u [диапазон]
диапазон - начальный и конечный адрес или начальный адрес и длина участка двоичного кода, который требуется деассемблировать.
Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона.
Примеры
Чтобы деассемблировать 16 (10h) байт, начиная с адреса 04BA:0100, введите следующую команду:
U04ba:100l10
Результаты программы Debug.exe выводятся в следующем формате:
04BA:0100 206472 AND [SI+72],AH
04BA:0103 69 DB 69
04BA:0104 7665 JBE 016B
04BA:0106 207370 AND [BP+DI+70],DH
04BA:0109 65 DB 65
04BA:010A 63 DB 63
04BA:010B 69 DB 69
04BA:010C 66 DB 66
04BA:010D 69 DB 69
04BA:010E 63 DB 63
04BA:010F 61 DB 61
Чтобы просмотреть сведения только об адресах с 04BA:0100 по 04BA:0108, введите следующую команду:
U04ba:0100 0108
Программа Debug.exe выводит следующие сведения:
04BA:0100 206472 AND [SI+72],AH
04BA:0103 69 DB 69
04BA:0104 7665 JBE 016B
04BA:0106 207370 AND [BP+DI+70],DH
W (write)
Запись файла или определенных секторов на диск. При запуске подкоманды w без параметров запись начинается с адреса CS:100.
w [адрес]
w [адрес] [диск] [первый_сектор] [число]
адрес- начальный адрес файла или части файла, который требуется записать на диск.
диск- диск назначения. Данный параметр задается числом: 0 = A, 1 = B, 2 = C и т. д.
первый_сектор- шестнадцатеричный адрес первого сектора для записи.
число- количество секторов, которые требуется записать.
Для записи количества байт, заданного в регистрах BX:CX, в файл на диске используется следующий команды:
w [адрес]
Для пропуска файловой системы и прямой записи указанных секторов используется следующий команды:
w [адрес] [диск] [первый_сектор] [число]
Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. Имя файла на диске нужно задать при запуске программы Debug.exe или в последней вызванной подкоманде n (name). Оба эти метода правильно форматируют имя файла для блока управления файлом (FCB) по адресу CS:5C.
Сброс значений регистров BX:CX перед использованием команды w без параметров. Если используются подкоманды g (go), t (trace), p (proceed) или r (register), перед использованием команды w без параметров значения регистров BX:CX необходимо сбросить.Если файл был изменен, но имя, размер и начальный адрес не менялись, Debug.exe позволяет записать файл в его исходное расположение на диске. Файлы с расширениями .exe и .hex нельзя записать с помощью этой команды. Непосредственная запись в сектор диска является исключительно опасной, так как в этом случае не выполняется дескриптор файла Windows XP. Логическая структура диска может быть повреждена при вводе неверного значения.
Примеры
Чтобы записать содержимое области памяти, начиная с адреса CS:100, на диск B и собрать данные из 2Bh секторов, начиная с логического сектора диска под номером 37h, введите следующую команду:
Wcs:100 1 37 2b
После окончания операции записи выводится приглашение программы debug.