关于Debug.exe

调试程序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文件

DEBUG程序的调用

在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命令的格式

Debug的命令都是一个字母,后跟一个或多个参数:   字母 [参数]

命令的使用中注意:

① 字母不分大小写;
② 只使用16进制数,没有后缀字母;
③ 分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符;
④ 每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行;
⑤ 命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。

许多命令的参数是主存逻辑地址,形式是“段基地址 : 偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。

对主存操作的命令还支持地址范围这种参数,它的形式是:“开始地址 结束地址”(结束地址不能具有段地址),或者是:“开始地址 L字节长度”。

显示命令D

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

E(Enter)命令用于修改主存内容,它有两种格式:

    E 地址          ;格式1,修改指定地址的内容
    E 地址 数据表    ;格式2,用数据表的数据修改指定地址的内容

例如:
    -e ds:100 F3`XYZ`8D    ;用F3/`X`/`Y`/`Z`/8D这5个数据替代DS:0100 ~ 0104的原来内容

填充命令F

F(Fill)命令用于对一个主存区域填写内容,同时改写原来的内容,其格式为:

    F 范围 数据表

该命令用数据表的数据写入指定范围的主存。如果数据个数超过指定的范围,则忽略多出的项;如果数据个数小于指定的范围,则重复使用这些数据,直到填满指定范围。

寄存器命令R

R(Register)命令用于显示和修改处理器的寄存器,它有三种格式。

    R       ;格式1,显示所有寄存器内容和标志位状态

    R 寄存器名    ;格式2,显示和修改指定寄存器

例如,键入“r ax”,Debug给出当前AX内容,冒号后用于输入新数据,如不修改则按Enter键。

    RF        ;格式3,显示和修改标志位

Debug将显示当前各个标志位的状态。显示的符号及其状态如表F1.1所示,用户只要输入这些符号就可以修改对应的标志状态,键入的顺序可以任意。

汇编命令A

汇编命令A(Assemble)用于将输入的汇编指令汇编成为机器代码保存于主存。

     A [地址]    ;从指定地址开始汇编指令

A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;若还没有使用过A命令,则从当前CS : IP开始。

输入A命令后,就可以输入8086指令,Debug将它们汇编成机器代码,相继地存放在指定地址开始的存储区中,记住最后要输入一个回车结束A命令。进行汇编的步骤如下:

① 输入汇编命令A [地址],按回车。Debug提示地址,等待你输入新指令;
② 输入汇编指令,按回车;
③ 如上继续输入汇编指令,直到输入所有指令;
④ 不输入内容就按回车,结束汇编,返回Debug的提示符状态。

A命令支持标准的8086(和8087浮点)指令系统以及汇编语言语句格式,但要注意以下一些规则:

• 所有输入的数值都是16进制数;
• 段超越指令需要在相应指令前,单独一行输入;
• 段间(远)返回的助记符要使用RETF;
• A命令也支持最常用的两个伪指令DB和DW。

反汇编命令U

反汇编命令U(Unassemble)将主存内容按照机器代码形成汇编指令显示:

    U [地址]    ;从指定地址开始,反汇编32个字节(80列显示模式)

    U 范围    ;对指定范围的主存内容进行反汇编

U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS : IP开始。

屏幕显示的左边是主存逻辑地址,中间是该指令的机器代码,而右边则是对应的指令汇编格式。

运行命令G

运行命令G(Go)从指定地址处开始运行程序,直到遇到断点或者程序正常结束。

    G [=地址] [断点地址1,断点地址2,...,断点地址10]

G命令等号后的地址指定程序段运行的起始地址,如不指定则从当前的CS : IP开始运行。断点地址如果只有偏移地址,则默认是代码段CS;断点可以没有,但最多只能有10个。

程序遇到断点(实际上就是断点中断指令INT 3),停止执行,并显示当前所有寄存器和标志位的内容、以及下一条将要执行的指令(显示内容同R命令),以便观察程序运行到此的情况。程序正常结束,将显示“Program terminated normally”。

注意,G命令以及后面的T和P命令要指向正确的指令代码,否则会出现不可预测的结果,例如“死机”。

跟踪命令T

跟踪命令T(Trace),也称为单步命令,每执行一条指令就显示运行结果,使程序员可以细致地观察程序的执行情况。

    T [=地址]           ;逐条指令跟踪

    T [=地址] [数值]    ;多条指令跟踪

从指定地址起执行一条或数值参数指定条数的指令后停下来,每条指令执行后都要显示所有寄存器和标志位的值以及下一条指令。如未指定地址则从当前的CS : IP开始执行。注意给出的执行地址前有一个等号,否则会被认为是被跟踪指令的条数(数值)。

T命令逐条指令执行程序,遇到子程序(CALL)或中断调用(INT n)指令也不例外,也会进入到子程序或中断服务程序当中执行。

继续命令P

继续命令P(Proceed)类似T命令,逐条执行指令、显示结果。但是当遇到子程序调用、中断功能调用和循环指令等时,不在子程序、中断服务程序或循环体中单步执行,而是直接执行完成子程序、中断服务程序或循环体,然后显示结果。

当不需要调试子程序、中断服务程序或循环程序段时,要应用P命令,而不是T命令。

    P [=地址] [数值]

退出命令Q

退出命令Q(Quit)使Debug程序退出,返回DOS。Q命令并无存盘功能,可使用W命令存盘。
    Q

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: debug.exeWindows系统中的一个命令行工具,主要用于调试应用程序或操作系统。debug.exe并不是一个官方发布的独立软件,而是随着Windows操作系统一起提供的。 在CSDN(中国软件开发者社区)上下载debug.exe并不可行,因为CSDN主要是一个面向开发者的知识分享平台,提供了众多软件开发相关的教程、资源和论坛等。但是像debug.exe这样的操作系统内置工具,通常不会在CSDN上提供下载。 如果你需要获取debug.exe,可以通过以下几种途径来获得: 1. 通过Windows操作系统安装盘或官方镜像:debug.exeWindows操作系统的一部分,当你安装或重新安装Windows时,它应该会随之一同安装。 2. 通过Windows开发者工具包(Windows SDK):Windows开发者工具包是用于Windows平台软件开发的一套工具,其中包含了一些常用的工具,如debug.exe等。你可以前往微软官方网站下载并安装Windows SDK,然后从中获取debug.exe。 3. 从他人或其他可靠的网站获取:在互联网上,你可能会找到其他网站或个人分享了debug.exeWindows操作系统的内置工具。在获取时请注意确保来源的可信度,并对下载的文件进行杀毒检查。 总之,debug.exeWindows操作系统的一部分,通常不会在CSDN上提供下载。你可以通过Windows操作系统安装盘、Windows开发者工具包或其他可靠来源来获取debug.exe。 ### 回答2: debug.exe是一个用于调试程序的工具,可以在开发过程中帮助开发者找出程序中的错误并进行修复。关于debug.exe的下载路径,我们可以在CSDN(中国软件开发网)上找到它。 1. 首先,打开浏览器并访问CSDN的官方网站。 2. 在网站的搜索栏中输入"debug.exe"。 3. 在搜索结果页面中,可能会得到很多关于debug.exe的相关内容,我们需要筛选出下载路径。 4. 可以根据搜索结果的排序方式选择按照时间或者相关度排序。通常,时间排序可以确保我们得到最新的、最可靠的下载链接。 5. 在搜索结果中找到一篇包含debug.exe下载链接的文章或者帖子。可以根据标题或者内容预览进行选择。 6. 点击下载链接,可能会弹出一个下载页面。根据指示进行操作,可能需要进行登录或者其他验证过程。 7. 一旦验证完成,debug.exe的下载将开始。可以选择保存文件到自己的电脑上,通常会默认保存到下载文件夹中。 需要注意的是,下载debug.exe的路径可能因为时间、网站更新等原因而有所变化。如果以上步骤无法找到最新的下载路径,可以尝试使用其他开发者社区的网站或者搜索引擎进行查询获取。同时也要谨慎下载,确保文件的来源可靠,以避免下载并运行恶意软件。 ### 回答3: 在CSDN不同资源页面上,可以找到debug.exe的下载路径。首先,打开CSDN的官方网站。在主页上,可以看到网站的搜索框,输入"debug.exe"进行搜索。 在搜索结果页面上,可以看到各种与debug.exe相关的资源、博客、问答等。点击其中的一个资源链接,进入资源详情页。 在资源详情页上,可以看到资源的详细描述、截图、标签等信息。同时,在页面的右侧或下方,会有一个下载按钮或链接,点击它即可进入debug.exe的下载页面。 在下载页面上,可以看到debug.exe的具体信息,如版本号、文件大小等。通常会有一个下载按钮,点击它即可开始下载debug.exe文件。 下载过程可能需要一定时间,取决于网络状况和文件的大小。下载完成后,可以打开文件所在目录,找到下载好的debug.exe文件。 总结来说,在CSDN上下载debug.exe的路径为:CSDN官方网站 -> 搜索框搜索"debug.exe" -> 进入资源详情页 -> 找到下载按钮 -> 点击下载按钮 -> 下载debug.exe文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值