动态调试程序DEBUG使用.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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使用.doc

动态调试程序DEBUG 使用 在编写和运行汇编程序的过程中,会遇到一些错误和问题,需要对程序进行分析和调试,调试程序DEBUG 就是专为汇编语言设计的一种调试工具。它在调试汇编语言程序时有很强的功能,能使程序设计者接触到机器内部,能观察和修改寄存器和存储单元内容,并能监视目标程序的执行情况,使用户真正接触到CPU 内部,与计算机产生最紧密的工作联系。 1.动态和程序DEBUG 的主要特点 1)能够在最小环境下运行汇编程序 在DOS 状态下运行汇编程序,必须将程序经过MASM 汇编程序,而后还要经过LINK连接程序产生可执行程序,才能最终运行,比较麻烦。在DEBUG 状态下,为用户提供了调试、控制测试的环境,可以在此环境下进行编程、调试、监督、执行用户编写的汇编程序。因此调试周期短,为用户提供了极大的方便。 2)提供极简单的修改手段 DEBUG 提供了修改命令,可以修改内存单元内容,修改寄存器的内容,为调试程序、修改程序带来了方便。 3)提供用户与计算机内部联系的窗口 DEBUG 具有显示命令,它既可以使用户看到某内存单元或某一块单元内容,也可以看到CPU 内部各寄存器的内容。用单步执行命令实现跟踪执行,每执行一步都使用户看到各寄存器的内容的变化,以便分析和调整程序。 4)可装入、修改或显示任何文件 当然在DEBUG 状态下运行汇编程序也具有一定局限性。在DEBUG 状态下运行的程序不能使用宏汇编程序中的宏指令,大部分伪指令也不能使用,因此只能把程序分段调试。此外,不能调试太长的程序,只能分块进行中程序设计。在DEBUG 状态下调试好的程序不能形成可执行文件(.EXE),因此调试好的程序只能记下,到编辑环境下重新键入调试好的程序,通过汇编程序(如MASM),再通过连接程序(LINK)形成可执行文件(.EXE)。 2.DEBUG 的进入 在操作系统(DOS)状态下,直接调入DEBUG 程序,键入命令的格式如下: DDEBUG [d:][Path][filename[.ext]][Parm1][Parm2] 其中[]的内容为可选项,可以有也可以缺省。 [d:]为驱动器号,指要调入DEBUG 状态的可执行文件在哪个驱动器中,如A:、B:、C:等。 [Path]为路径,指要调入DEBUG 状态的可执行文件是在哪个目录下或子目录下。 [filename[.ext]],指要调入DEBUG 状态下的可执行文件的文件名,该文件可以是通过编辑、汇编、连接后产生的可执行文件,也可以是在DEBUG 状态下汇编的程序 段,通过写盘命令W 写入磁盘的文件。 [Parm1][Parm2]为任选参数,是给定文件的说明参数。 在启动DEBUG 时,如果输入filename(文件名),则DEBUG 程序把指定文件装入内存,用户可以通过DEBUG 的命令对指定文件进行修改、显示或执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令或装入命令把需要的文件装入内存,然后再通过DEBUG 命令进行修改、显示或执行。 当启动DEBUG 程序后,屏幕上出现“—”,说明系统已进入DEBUG 状态。 3.DEBUG 的主要命令 1)DEBUG 命令的有关规定 (1)DEBUG 命令都是一个英文字母,后面跟着一个或多个有关参数。多个操作参数之间用“,”或空格隔开。 (2)DEBUG 命令必须接着按ENTER 键,命令才有效。 (3)参数中不论是地址还是数据,均用十六进制数表示,但十六进制数据后面不要用“H”。 (4)可以用Ctrl 和Break 键来停止一个命令的执行,返回到DEBUG 的提示符“—”下。 (5)用Ctrl-Num Lock 键中止正在上卷的输出行,再通过按任意键继续输出信息。 2)DEBUG 命令 (1)汇编命令A 格式:a. A [段寄存器名]:[偏移地址] b. A [段地址]:[偏移地址] c. A [偏移地址] d. A 功能:用该命令可以将汇编语言程序直接汇编进入内存。 当键入A 命令后,显示段地址和偏移地址等待用户键入汇编指令,每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一地址时可直接键入回车返回到提示符“-”为止。其中a 的段地址在段地址寄存器中,因此在使用该命令时必须将段地址寄存器送入段地址,c 的地址在CS 中,d 的段地址在CS 中,偏移地址为100H。 (2)显示内存命令D 格式:a. D [地址] b. D [地址范围] c. D 功能:显示指定内存范围的内容。 显示的内容为两种形式:一种为十六进制内容,一种为与十六进制相对应的ASCII 码字符,对不可见字符以“·”代替。对于a、c 每次显示128 个字节内容,b 显示的字节数由地址范围来决定。若命令中

文档评论(0)

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

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

1亿VIP精品文档

相关文档