Debug命令探索.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 DEBUG主要命令 在DOS的提示符下,可键入命令: C:\DEBUG [D:][PATH][FILENAME[.EXE][PARM1][PARM2] 其中,文件名是被调试文件的名字。如用户键入文件,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。 在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。 一、DEBUG程序的调用 * 1、检查和修改寄存器内容的命令R(register) ·显示CPU内所有寄存器内容和标志位状态,其格式为: -R 例如,-R AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC 二、DEBUG的主要命令 代表OF DF IF SF ZF AF PF CF的状态 * 显示的标志位含义 标志位名称 标志 标志位为1 标志位为0 溢出(是/否) OF OV NV 进位(是/否) CF CY NC 辅助进位(是/否) AF AC NA 零(是/否) ZF ZR NZ 奇偶(偶/奇) PF PE PO 符号(负/正) SF NG PL 中断(开/关) IF EI DI 方向(减/增) DF DN UP * ·显示和修改某个寄存器内容,其格式为: -R register name 例如,键入 -R AX 系统将响应如下: AX F1F4 : 即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如: -R BX BX 0369 :059F 则把BX寄存器的内容修改为059F。 * 2、显示存储单元的命令D(DUMP) 格式为: _D[address]或_D[range] 例如,按指定偏移地址范围显示存储单元中DS所指数据段内容的方法为: -d 100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 · · · · · · · · · · · · · · · · 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 · · · · · · · · · · · · · · · · 18E4:0120 8B · 其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80H个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。 (3)反汇编命令:U ;Unassemble U命令用来把机器码翻译成汇编指令。把机器码翻译成汇编指令称为反汇编(unassemble),把汇编指令翻译成机器码称为汇编(assemble)。反汇编是汇编的逆过程,U命令的作用与A命令刚好相反。 格式: U ;从上次结束地址开始反汇 编(刚进DEBUG时,从1OOh开始) U 开始地址 ;从指定地址开始反汇编 U 开始地址 结束地址 ;从指定地址开始反汇编直 到结束地址 U 开始地址 L字节数 ;从指定地址开始反汇编指 定字节数的机器码 * 5、跟踪命令T(Trace) 有两种格式: ·逐条指令跟踪 -T [=address] 从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。如未指定地址则从当前的CS:IP开始执行。 ·多条指令跟踪 -T [=address][value] 从指定地址起执行n条指令后停下来,n由value指定。 (4)单步跟踪命令: P ;Proceed P命令用来单步执行一条指令。另一个单步跟踪命令是T(trace/trap),T与P的区别在于T能跟踪进入CALL指令与INT指令,并且跟踪LOOP指令的每一次循环,而P命令不这样做,它在单步执行CALL、INT、LOOP指

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档