调试程序DEBUG使用说明.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
调试程序DEBUG使用说明

调试程序DEBUG.EXE DEBUG.EXE是DOS提供的可用于调试可执行程序的一个工具软件,也是可用于汇编语言程序设计的一种调试工具。 调试程序DEBUG.EXE是版本有关的,不同版本的操作系统具有不同的文件(功能一样)。 纯DOS操作系统:DOS目录的DEBUG.EXE文件; Windows?9x操作系统:MS-DOS环境,使用Windows文件夹下command子文件夹的DEBUG.EXE文件 Windows?2000/XP操作系统:MS-DOS环境,使用WINNT文件夹下system32子文件夹的DEBUG.EXE文件 在DOS的提示符下,可如下键入Debug启动调试程序: DEBUG??[路径\文件名]?[参数1]?[参数2] Debug后可以不带文件名,仅运行Debug程序;需要时,再用N和L命令调入被调试程序。命令中可以带有被调试程序的文件名,则运行Debug的同时,还将指定的程序调入主存;参数1/2是被调试程序所需要的参数。 在Debug程序调入后,根据有无被调试程序及其类型相应设置寄存器组的内容,发出Debug的提示符“-”,此时就可用Debug命令来调试程序。 运行Debug程序时,如果不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段;除SP之外的通用寄存器都设置为0,而SP指示当前堆栈顶在这个段的尾部;IP=0100h;状态标志都是清0状态。 运行Debug程序时,如果带入的被调试程序扩展名不是.EXE,则BX.CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。 运行Debug程序时,如果带入的被调试程序扩展名是.EXE,则需要重新定位。此时,CS?:?IP和SS?:?SP根据被调试程序确定,分别指向代码段和堆栈段。DS=ES指向当前可用的主存段,BX.CX包含被调试文件大小的字节数(BX为高16位),其他通用寄存器为0,状态标志都是清0状态。 Debug的命令都是一个字母,后跟一个或多个参数:?? 字母?[参数] 命令的使用中注意: ①?字母不分大小写; ②?只使用16进制数,没有后缀字母; ③?分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符; ④?每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行; ⑤?命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。 许多命令的参数是主存逻辑地址,形式是“段基地址?:?偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。 对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址?结束地址”(结束地址不能具有段地址),或者是:“开始地址?L字节长度”。D(Dump)命令显示主存单元的内容,它的格式如下(注意分号后的部分用于解释命令功能,不是命令本身): ???????? D [地址]???????;显示当前或指定开始地址的主存内容 ???????? D [范围]???????;显示指定范围的主存内容 例如,显示当前(接着上一个D命令显示的最后一个地址)主存内容: 左边部分是主存逻辑地址,中间是连续16个字节的主存内容(16进制数,以字节为单位),右边部分是这16个字节内容的ASCII字符显示,不可显示字符用点“.”表示。一个D命令仅显示“8行×16个字节”(80列显示模式)内容。 再如: ??????????? -d 100????????????? ;显示数据段100h开始的主存单元 ??????????? -d cs:0????????????? ;显示代码段的主存内容 ??????????? -d2f0 L20???????????;显示ds:2f0h开始的20h个主存数据 E(Enter)命令用于修改主存内容,它有两种格式: ????E?地址?????? ???;格式1,修改指定地址的内容 ????E?地址?数据表????;格式2,用数据表的数据修改指定地址的内容 格式1是逐个单元相继修改的方法。例如,键入“e?ds:100”,Debug显示原来内容,用户可以直接输入新数据,然后按空格键显示下一个单元的内容,或者按“-”键显示上一个单元的内容;不需要修改可以直接按空格或“-”键;这样,用户可以不断修改相继单元的内容,直到用回车键结束该命令为止。 格式2可以一次修改多个单元,例如: ????-e?ds:100?F3`XYZ`8D????;用F3/`X`/`Y`/`Z`/8D这5个数据替代DS:0100?~?0104的原来内容 F(Fill)命令用于对一个主存区域填写内容,同时改写原来的内容,其格式为: ?

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档