调试程序DEBUG的主要命令
微机接口debug指令详解

2014-12-3
6
D命令使用
-d cs:100 按以下格式显示地址范围中的内容(假定 CS=0AF6): 0AF6:0100 77 61 6E 67 78 69 61 6F- wangxiao 69 6A 6B FF 0E 00 01 FF ijk…..
2014-12-3
7
三、DEBUG 命令详解
2014-12-3
5
三、DEBUG 命令详解
★ D命令 格式:D [地址] 或D [起始地址][目的地址] 功能:以内存映象方式显示内存中的数据。 参数说明:指定要显示内容的内存单元的起始 地址和结束地址,或起始地址和长度。如果不 指定 [地址],Debug将从以前 d 命令中所指 定的地址范围的末尾开始显示 128个字节的内 容;第一次从DS:100处开始显示。
2014-12-3
9
三、DEBUG 命令详解
★ T命令 格式:T [=地址] [指令条数] 功能: 逐条跟踪程序的执行,每条指令执行后都 将显示各寄存器的内容。 参数说明:[=地址] 指定第一 条要执行指令的位置。如果 不指定地址,则默认地址是在 CS:IP 寄存器中指定的当前地址,[指令条数] 指定在将 控制返回给 Debug 之前要执行的指令数,默认 值为 1。
debug指令详解
2014-12-3
1
一、DEBUG概述
1、 DEBUG是在DOS状态下面供程序员使用的 程序调试工具。 2、它可以用来检查内存中任何地址中的内容以 及修改特定地址中的内容。 3、DEBUG还可以用于逐指令执行某个程序,追 踪程序的执行过程,比较一条指令执行前后数值 变化情况,读写文件与磁盘扇区。 4、DEBUG还可以用于读写端口中的数值。
DOS下DEBUG教程

DOS下DEBUG教程•调试程序DEBUG的特点:1. 在受控环境中测试程序;2. 装入,显示或修改任何文件;3. 执行DOS程序;4. 完成磁盘实际读/写操作;5. 建立或汇编汇编语言程序。
•DEBUG的命令格式:[drive:][path] DEBUG[d:][p][filename][.ext][param...]其中:drive:是指定DEBUG文件的磁盘驱动器标识符,DEBUG是外部DO S命令,所以必须把它从磁盘读入内存。
若未指定,DOS将使用当前默认磁盘驱动器。
path: 是DOS查找DEBUG文件的一个子目录串表示的路径。
若未指定,DO S将使用当前工作目录。
d:是DEBUG将要调试的文件所在的磁盘驱动器。
p: 是查找DEBUG将要调试的文件所需的子目录路径,若未指定,DOS使用当前目录。
filename[.ext]是DEBUG将要调试的文件名。
param是将被调试的程序(或文件)的命令行参数。
附:DEBUG所完成的初始化动作,假定文件名没有,启动DEBUG:•段寄存器CS、DS、ES和SS置为DEBUG程序后的第一个段。
•指令指针寄存器IP置为100H(程序段前缀PSP后的第一个语句)。
•堆栈指针SP置为段末或暂驻部分的结束地址(其中较小的那个地址)。
•其余通用寄存器均置为0,标志寄存器置为下述状态。
•NV UP EI PL NE NA PO NC如果DEBUG命令行含有文件名,段寄存器DS和ES指向PSP。
寄存器B X和CX含有程序长度。
•DEBUG使用单字符命令:这些DEBUG命令主要参考清华大学计算机系列教材《IBM-C汇编语言程序设计》一书。
-D[address]或- D[range]例如,按指定范围显示存储单元内容的方法为:-D 100 120067C:0100 C7 D7 0D 0A 32 33 33 34 - D5 C5 B4 C6 30 10 42 0C ....2334....0.B.067C:0110 03 41 42 43 44 45 46 47 - 48 49 4A 4B 4C 4D 4E 4F .ABCDEFGHIJKLMNO 067C:0120 8B其中0100至0120是DEBUG显示的单元内容。
DEBUG命令详解

debug命令DEBUG命令参数详解DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。
它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。
它的功能包括以下几个方面。
1,直接输入,更改,跟踪,运行汇编语言源程序;2,观察操作系统的内容;3,查看ROM BIOS的内容;4,观察更改RAM内部的设置值;5,以扇区或文件的方式读写软盘数据DEBUG把所有数据都作为字节序列处理。
因此它可以读任何类型的文件。
DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。
它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。
在DEBUG中输入数据有两种方法: 提示方法和非提示方法。
在用提示方法时,用户可以输入要求输入数据的命令,后跟数据所要输入的地址。
然后用户就可以看到该地之中已有内容及一个冒号提示符。
此时用户可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到短横(-)提示符。
在运用非提示方法时,用户可以输入要输入数据的内存地址以及要输入的字节。
但与使用字处理程序或正文编辑程序时不一样,在使用DEBUG时,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。
在使用DEBUG时可以只涉及内存中的数据,从而一般都要指定所要处理的内存地址,地址的输入格式是: [段地址]: [位移]。
如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。
前100H字节保留给程序段前缀使用,这一专用区域用于建立DOS与程序之间的联系。
DEBUG总是用四位十六进制数表示地址。
用两位数表示十六进制数据。
讲到这里大家应该对DEBUG有了初步的了解,但是光知道这些可不够,接下来我来讲讲DEBUG的命令格式和命令。
java debug 参数

java debug 参数Java Debug参数在软件开发过程中,调试是一个非常重要的环节。
当程序出现问题时,我们需要通过调试来找出问题所在并进行修复。
Java作为一种广泛使用的编程语言,提供了丰富的调试工具和参数来帮助开发人员进行调试。
本文将介绍一些常用的Java Debug参数,帮助读者更好地理解和使用它们。
一、-Xdebug参数-Xdebug参数用于开启Java的远程调试功能。
在IDE中使用调试功能时,通常需要在程序启动时指定该参数,并指定调试器监听的端口号。
例如,可以使用以下命令行启动程序并开启调试功能:java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address= 5005 Main其中,-Xrunjdwp参数用于指定调试器的相关配置,transport参数指定调试器与程序之间的通信方式,server参数指定调试器是否作为服务器等待调试器连接,suspend参数指定程序启动后是否等待调试器连接,address参数指定调试器监听的端口号。
二、-Xnoagent参数-Xnoagent参数用于关闭Java的默认调试代理。
在某些情况下,我们可能不希望使用Java默认的调试代理,而是使用其他调试工具。
通过指定-Xnoagent参数,可以禁用Java的默认调试代理,从而使用其他调试工具进行调试。
三、-Xrunjdwp参数-Xrunjdwp参数用于指定Java调试代理的相关配置。
通过-Xrunjdwp参数,可以指定调试代理与调试器之间的通信方式、端口号等。
例如,可以使用以下命令行启动程序并开启调试代理:java -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address= 5005 Main其中,transport参数指定调试代理与调试器之间的通信方式,server参数指定调试代理是否作为服务器等待调试器连接,suspend参数指定程序启动后是否等待调试器连接,address参数指定调试代理监听的端口号。
实验一Debug命令的使用

实验一Debug命令的使用实验一Debug命令的使用一、实验说明1、 DEBUG简介DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。
在汇编语言程序调试中很常用。
DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。
DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。
DEBUG命令的使用注意问题:(1)字母不分大小写(2)只使用十六进制数,但没有带后缀字母“H”(3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。
(4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。
2、 Debug的调入和退出以Windows环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态,如:C:\Documents and Settings\mjy>然后输入命令:>Debug进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。
退出Debug的命令:Q3、 Debug常用命令(1)汇编命令A,格式为:- A [地址]功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。
若不指定地址,则系统从默认的地址开始存放。
按回车键退出汇编状态应用:用于调试一条指令或几条指令组成的一个程序段。
(2)显示和修改寄存器命令R,格式为:- R [寄存器名]功能:若指定寄存器,则显示指定的寄存器的内容,并可进行修改;若不要修改,则按Enter 健。
若未指定寄存器,则默认为显示所有寄存器的内容。
应用:常用于通过寄存器的值查看指令的执行结果。
(3)内存单元内容的命令E,格式为:- E 地址[内容表]功能:若指定内容表,则用内容表中的内容代替指定地址开始的存储单元的值;否则,从指定地址开始逐个单元显示其内容,并等待用户修改,按空格键则继续显示下一单元的值,按回车键结束。
DEBUG的使用方法

DEBUG的使用方法1.设置断点:断点是在代码中设置的一个位置,程序在运行到这个位置时会暂停执行。
可以在关键的代码行上设置断点,以便在程序运行到这些位置时进行观察和调试。
在DEBUG工具中,我们可以在代码行上单击左侧的空白区域来设置断点。
2.执行步进:步进是一种按步执行程序的方法,可以逐行或逐过程执行代码。
通过逐行执行代码,可以观察每一行代码的执行情况,以便找出程序中的错误。
可以使用DEBUG工具提供的步进功能,一次执行一行代码或一个过程。
3.观察变量:在程序运行过程中,可以观察和监视变量的值,以便了解程序的状态。
可以使用DEBUG工具来查看变量的值,并在程序执行过程中跟踪变量的变化。
这对于发现变量值的改变和问题的根源非常有帮助。
4.输出调试信息:在调试过程中,可以通过在代码中插入输出语句来输出调试信息。
可以使用DEBUG工具提供的输出窗口或控制台来查看这些调试信息。
输出调试信息有助于了解程序的执行流程,找到错误发生的原因。
5.检查堆栈:堆栈是保存程序执行状态的一种数据结构,可以在DEBUG工具中查看和跟踪堆栈的状态。
堆栈信息可以告诉我们程序的执行路径,以及代码是如何调用和返回的。
通过检查堆栈,我们可以找到错误发生的上下文和调用链。
6.使用断言:断言是一种在代码中插入的条件,用于检查程序执行过程中的假设和要求。
可以使用DEBUG工具中的断言功能,在关键的代码位置插入断言条件。
当断言条件不满足时,程序会执行中断操作,从而帮助我们快速定位错误。
7.进行追踪:追踪是一种记录程序执行过程的方法,可以在DEBUG工具中查看程序的执行轨迹。
追踪记录了程序的每一步操作,包括函数调用、条件语句的执行和变量的修改等。
通过追踪,我们可以逐步了解程序的执行情况,并找到错误所在。
8.使用条件断点:条件断点是一种在特定条件下触发断点的方法。
可以在DEBUG工具中设置条件断点,当满足特定条件时,程序会在断点处暂停执行。
条件断点可以帮助我们找出特定情况下的错误,提高调试的效率。
DEBUG.EXE的使用
附录2 动态调试程序DEBUG.EXE的使用DEBUG.EXE 是专为汇编语言设计的一种调试工具,可用来检查、修改存储单元和寄存器的内容,装入、存储及启动运行程序,也可用DEBUG.EXE 汇编简单的汇编语言程序。
( 注: DEBUG 只能在 DOS 或 WINDOWS 98 及WINDOWS ME 下运行 )DEBUG的命令表A (汇编)命令用途:把计算机的宏汇编语句直接汇编到内存中.格式:A[address]说明:“A”是一条逐行汇编命令,当使用“A”命令时,并不直接将16进制字节(机器码)键入存储器,而键入的是助记符。
但键入的汇编语句被汇编在指定地址的连续单元中.在“A”命令后没指出地址时,分两种情况:a.没指定地址同时前面没有使用汇编命令,则语句被汇编到CS:100开始的区域中. b.没指定地址,但前面已有汇编命令,则语句被汇编到紧接着前一条汇编语句的后一个地址单元里。
例- ;“-”为DEBUG提示符-A0CDE:0100 DB ‘THIS IS AN EXAMPLE’,‘$’0CDE:0113 DB ‘1 2 3 4 5 6 7 8 9 A B C D E F $’OCDE:0133 MOV DX,01000CDE:0136 MOV AH,090CDE:0138 1NT 210CDE:013A MOV DL,0D0CDE:013C MOV AH,020CDE:013E INT 210CDE:0140 MOV DL,0A0CDE:0142 MOV AH,020CDE:0144 INT 210CDE:0146 MOV DX,01000CDE:0149 MOV AH,090CDE:014B INT 210CDE:014D 1NT 200CDE:014F- ;“-”为DEBUG提示符*在DEBUG状态下键入的数字都是16进制数,所以不要用H表示为16进制数。
在语句输入完后,只要按ENTER键,即告诉DEBUG用户程序输入完毕,此时回到DEBUG初始状态。
实验一汇编语言上机及Debug调试
实验一汇编语言程序上机过程以及调试(1)一、预习内容1.工具软件MASM、LINK的使用2.常用DEBUG命令的使用: G,D,R,T,U,Q3.完整程序设计方法的格式。
二、目的要求1.掌握常用工具软件MASM、LINK的使用2.掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序3.掌握完整程序设计方法的格式,能正确书写数据段,代码段等。
三、实验内容比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。
DSEG SEGMENTstring1 db 'Move the cursor backward.'string2 db 'Move the cursor backward.'mess1 db 'Match.',13,10,'$'mess2 db 'No match.',13,10,'$'DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:DSEG,MAIN PROC FARstart: mov ax, dsegmov ds, axmov es, axlea si ,string1①cld②repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp: mov ah,09hint 21hmov ax, 4c00hint 21hMAIN ENDPCSEG ENDSend start实验步骤:1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在d:\masm下,注意保存时将文件扩展名改为.asm(如test1.asm)。
2)屏幕左下角”开始”–“运行”输入cmd ,进入dos命令操作,先用d: 和cd mas m 命令改变路经,接着用”masm + 文件名” (如masm test1,这里文件名可以不带扩展名)对源文件进行汇编,产生.obj文件和.LST文件。
在命令窗口中启动debug
在命令窗口中启动DEBUG,启动命令一般为:DEBUG [文件名] [参数表]。
其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。
被调试的文件可以是系统中的任何文件,但通常它们的后缀为.EXE或.COM。
当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。
DEBUG中所有命令及其含义如DEBUG 各命令功能说明表所示。
关于使用命令的几点说明:在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行命令是单个字母,命令和参数的大小写可混合输入可用F1、F2、F3、Ins、Del、左移键、右移键等编辑键来编辑本行命令当命令出现语法错误时,将在出错位置显示“^ Error”可用Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用Ctrl+S或Ctrl+Num Lock来暂停屏幕显示(当连续不断地显示信息时)以下通过实现十九个示例来熟悉DEBUG的命令集和基本的汇编指令。
R命令的使用R命令作用:观看和修改寄存器的值。
在提示符“-”下输入以下命令:R。
DEBUG将会显示出当前所有寄存器和标志位的状态。
接下来再输入命令RCX。
在提示符“:”后输入100。
该命令的作用是将寄存器CX的值设置为100(注意:DEBUG使用的是十六进制,这里的100相当于十进制的256。
)最后再执行R命令,观看修改后的寄存器值。
H命令的使用H命令作用:计算两个十六进制数的和与差。
在提示符“-”下输入以下命令:H 10 1。
观看命令执行结果。
运行结果的前一个数是计算出来的和,后一个数是计算出来的差。
计算结果均用十六进制形式表示。
D命令的使用D命令作用:显示内存区域的内容。
在提示符“-”下连续执行命令R、D、D。
观看命令执行结果。
前面已经介绍过了,命令R的作用是显示当前寄存器的值。
而命令D的作用是显示内存区域的内容,最左边是内存的起始地址,中间以十六进制的形式显示内存值,最右边是以ASCII 码的形式显示内存值。
debug指令详解
debug指令详解一、DEBUG概述DEBUG是在DOS状态下面供程序员使用的程序调试工具。
它可以用来检查内存中任何地址中的内容以及修改特定地址中的内容。
DEBUG还可以用于逐指令执行某个程序,追踪程序的执行过程,比较一条指令执行前后数值变化情况,读写文件与磁盘扇区。
此外,DEBUG还可以用于读写端口中的数值。
在DEBUG状态下,所有数据都作为字节序列,可以用DEBUG把任何类型的文件读入内存中。
DEBUG能够处理的数据为两种: 十六进制数和ASCⅡ码,使用两位数表示十六进制数据(0~9,A~F)。
在DEBUG中涉及内存中的数据时,要指定数据所在的内存单元的地址,地址的输入格式是: [段地址]: [位移]。
如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。
前100H字节保留给程序段前缀使用(称PSP结构,包含程序执行的各种信息),该区域用于建立DOS与程序之间的联系。
在DEBUG中,使用四位十六进制数表示地址(0~9,A~F)。
DEBUG输入数据时有两种方法: 提示方法和非提示方法。
在提示方法下,输入要求输入数据的命令,后跟保存数据的地址。
执行后可以看到该地址中已有的内容及一个冒号提示符。
此时可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到“—”提示符。
在非提示方法下,输入保持数据的内存地址以及要输入的数据。
DEBUG的启动:进入DOS 状态下,键入DEBUG ,按ENTER键,如: C:\>DEBUG ,则屏幕显示:-符号“-”是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。
DEBUG的退出:在DEBUG的提示符后输入Q命令,按ENTER键,则退出DEBUG返回DOS。
DEBUG的使用:在DEBUG的提示符后输入DEBUG命令,按ENTER键。
二、DEBUG 命令详解★A命令格式:A[地址]功能:将指令直接汇编成机器码输入到内存中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调试程序DEBUG的主要命令
一汇编语言上机过程
1.编辑源程序,建立ASM文件
在DOS下,我们可以调用任何一种文本编辑软件编辑汇编语言的源程序,现在,我们调用全屏幕编辑程序EDIT
C>EDIT
在磁盘上建立以.asm为后缀的源文件
2.用汇编程序(MASM)对源文件汇编产生文件OBJ文件
源文件建立之后,要用汇编程序对源文件汇编,汇编产生二进制的目标文件(OBJ文件),操作如下:
格式:MASM<文件名>
3.用连接程序(LINK)产生执行文件EXE
汇编程序生成的二进制的目标文件并不是可以执行的文件,还必须使用连接程序(LINK)把OBJ文件转换为可执行的EXE文件格式:LINK<文件名>
二调试程序DEBUG的主要命令
DEBUG程序是专门为汇编语音设计的一种调试工具1.DEBUG程序的调用
在DOS下,键入命令
C>DEBUG[驱动器][路径][文件名]
在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令
2.常用DEBUG命令
(1)显示内存单元内容的命令D,格式为
-D
(2)修改内存单元内容的命令E,格式为
-E
(3)检查和修改寄存器内容的命令R,格式为
-E
(4)运行命令G,格式为
-G
(5)汇编命令A,格式为
-A
(6)反汇编命令U,格式
-U
(7)推出DEBUG命令Q,该命令格式为
-Q
上机要求:文件夹masm5子文件aaa已有88.ASM为文件名的源文件,通过调用程序DEBUG的主要命令,熟悉各种命令的用法。