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.

Наши рекомендации