编辑: star薰衣草 2019-07-05

3 (返回 debug 状态) ****:011C -d ****:0100 (d 为内存单元数据显示命令.这里是检查源地址开始的10h个单 元中的数) ****:0100

00 01

02 03

04 05

06 07-08

09 0A 0B 0C 0D 0E 0F ... -g=****:0110 (g 为运行命令.这里是从 ****:0110 地址开始运行程序) AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0110 DI=0210 DS=**** ES=**** SS=**** CS=**** IP=011B NV UP EI PL NZ NA PO NC ****:011B CC INT

3 -d ****:0200 (检查目标地址开始的 10h 个单元中的数) ****:0200

00 01

02 03

04 05

06 07-08

09 0A 0B 0C 0D 0E 0F ... -a ****:0113 ****:0113 mov di,0300 (将目标地址改为 ****:0300) ****:0116 -g=****:0110 (再运行该段程序) AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0110 DI=0310 DS=**** ES=**** SS=**** CS=**** IP=011B NV UP EI PL NZ NA PO NC ****:011B CC INT

3 -d ****:0300 (检查新目标地址开始的 10h 个单元中的数) ****:0300

00 01

02 03

04 05

06 07-08

09 0A 0B 0C 0D 0E 0F ... -e ****:0100 (e 为修改内存单元内容命令.这里是改写源地址开始的 10h个单元中的数) ****:0100 00.f 01.e 02.d 03.c 04.b 05.a 06.9 07.8 ****:0108 08.7 09.6 0A.5 0B.4 0C.3 0D.2 0E.1  0F.0 -g=****:0110 (再运行该段程序) AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE P=0000 SI=0110 DI=0310 DS=**** ES=**** SS=**** CS=**** IP=011B NV UP EI PL NZ NA PO NC ****:011B CC INT

3 -d ****:0300 (检查新目标地址开始的10h 个单元中的数据) ****:0300 0F 0E 0D 0C 0B 0A

09 08-07

06 05

04 03

02 01

00 ... 若要把调试中的数据存盘, 可先用 n 命令指定文件名, 再用 w命令将指定长度和起始地址的数据存入指定文件.具体操作为: -n aaa (n 是命名命令, 用此命令指定了文件后, 才能用 l 命令调文件或用w 命令写文件.这里是在当前盘当前路径下指定了文件 aaa) -r cx (r 是显示/修改寄存器内容命令, 能显示 cpu 内部所有寄存器的内容和全部标志位的状态, 也能显示和修改某个指定寄存器的内容, 也能显示和修改所有标志位的状态.这里是改写 cx 的值) cx

0000 :001c (将要存盘的字节数 1ch 写入 cx) -w ****:0100 (w 是写命令.这里是将从地址 ****:0100 开始的 1ch 个字 节的数据存入文件 aaa 中) Write 001c bytes -q (退出 debug) 实例二: 对abc.exe 程序进行检测、调试.有两种方法将 abc.exe 程序调入 debug. 方法一: debug abc.exe 方法二: debug -n abc.exe (指定文件 abc.exe) -l (l 是调入命令, 将n命令指定的文件调入 debug.) 用其中一种方法将 abc.exe 调入debug 后, 继续操作如下: -u (u 是反汇编命令, 可将目标程序反汇编为源程序.这里是从当前地址 ****:0000=cs:ip 处开始反汇编) ****:0000 1E PUSH DS ****:0001 B80000 MOV AX,0000 ****:0004

50 PUSH AX ****:0005 B82A14 MOV AX,DATA (DATA 为ds 段基址) ****:0008 8ED8 MOV DS,AX ****:000A BB0000 MOV BX,0000 (0000 为d1 的地址偏移量) ****:000D B90E00 MOV CX,000E ****:0010 BA0000 MOV DX,0000 ****:0013 8B07 MOV AX,[BX] ****:0015 3D0000 CMP AX,0000 ****:0018 7D01 JGE 001B ****:001A

42 INC DX ****:001B

43 INC BX ****:001C E2F5 LOOP

0013 ****:001E 89160E00 MOV [000E],DX (000e 为rs 的地址偏移量) -d ****:0 (显示d1 的地址开始的内存单元中的数据) ****:0000 FF

02 FD

04 FB

06 F9 08-F7 0C E2 0A F4

06 00

00 ... 可看出 d1 地址开始的数据块中有

14 个单字节数, 其中有

7 个负数. -g=****:0 (从cs:ip 开始运行程序.若程序正确, 则rs 所在单元 ****:000e 的内容应为 7) Program terminated normally -d ****:0 (显示****:000e 单元的内容) ****:0000 FF

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题