调试工具Debug介绍.doc
文本预览下载声明
调试工具DEBUG介绍
启动DEBUG的一般命令如下: DEBUG 文件名 [参数表]
其中:文件名指定被调试的文件,其包括文件名和后缀,参数表是被调试文件运行时所需要的参数(可省)。
被调试的文件通常的后缀为.EXE或.COM。
当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。DEBUG中标志位的符号表示如表1所示,其所有命令及其含义如表2所示。
关于参数的几点说明:
进制:在DEBUG中输入或显示的数据都是十六进制形式
表1 DEBUG中标志位的符号表示
标志名称 溢出
OF 方向
DF 中断
IF 负号
SF 零
ZF 辅助进位
AF 奇偶
PF 进位
CF 置位状态 OV DN EI NG ZR AC PE CY 复位状态 NV UP DI PL NZ NA PO NC 表2 DEBUG命令及其含义
命令格式 功能说明 A(汇编) [地址] 输入汇编指令 C(比较) [范围] 起始地址 对由“范围”指定的区域与“起始地址”指定的同大小区域进行比较,显示不相同的单元 D(转出) [范围] 显示指定范围内的内存单元内容 E(键入) 地址 字节值表 用值表中的值替换从“地址”开始的内存单元内容 F(填入) 范围 字节值表 用指定的字节值表来填充内存区域 G(执行) [=起始地址] [断点地址] 从起点(或当前地点)开始执行,到终点结束 H(十六进制) 数值1 数值2 显示二个十六进制数值之和、差 I(输入) 端口地址 从端口输入 L(装入) [地址 [驱动器号 扇区 扇区数]] 从磁盘读 M(移动) 范围 地址 把“范围”内的字节值传送到从“地址”开始的单元 N(命名) 文件标识符 [文件标识符…] 指定文件名,为读/写文件做准备 O(输出) 端口地址 字节值 向端口输出 P(继续执行) [=地址] [指令数] 按执行过程,但不进入子程序调用或软中断 Q(退出) 退出DEBUG,不保存正在调试的文件 R(寄存器) [寄存器名] 显示和修改寄存器内容 S(搜索) 范围 字节值表 在内存区域内搜索指定的字节值表。如果找到,显示起始地址,否则,什么也不显示 T(跟踪) [=地址] [指令数] 跟踪执行,从起点(或当前地点)执行若干条指令 U(反汇编) [范围] 反汇编,显示机器码所对应的汇编指令 W(写) [地址 [驱动器号 扇区 扇区数]] 向磁盘写内容,(BX、CX)为写入字节数 分隔:命令和参数、参数和参数之间要用空格、逗号或制表符等分隔
地址:用“段值:偏移量”的形式来表示地址,也可用段寄存器来代表“段值”例如:1000:0,ds:10,es:200,cs:30等
范围:用来表示地址范围,从哪个地址开始,到哪个地址结束。它有二种表示方式:
地址 地址——前者表示起始地址,要用“段值:偏移量”来表达,后者表示终止地址,只用“偏移量”来表示
地址 长度——前者表示起始地址,要用“段值:偏移量”来表达,后者表示该区域的大小,用字母’L’开头的数值来表示
例如:100:50 100——段值为100,偏移量从50到100的内存区域,
100:50 L100——段值为100,偏移量从50开始的100个字节区域。
端口地址:二位十六进制数值
字节值:二位十六进制数值
字节值表:由若干个字节值组成,也可以是用引号括起来的字符串
驱动器号:0—驱动器A、1—驱动器B、2—驱动器C、3—驱动器D等
关于使用命令的几点说明:
1、在DEBUG中的提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行
2、命令是单个字母,命令和参数的大小写可混合输入
3、可用F1、F2、F3、Ins、Del、左移键、右移键等编辑键来编辑本行命令
4、当命令出现语法错误时,将在出错位置显示“^ Error”
5、可用^C或^Break来终止当前命令的执行,还可用^S来暂停屏幕显示(当连续不断地显示信息时)
例2.1:启动DEBUG,并装入test.exe文件(假设该文件已存在)。
解:…\debug test.exe
例2.2:比较以DS为段值,偏移量从10到50的内存区域与从地址100:20开始的内存区域。
解:
-C DS:10 50 100:20 或 -C DS:10 L41 100:20
例2.3:显示以DS为段值,偏移量从10到50内存区域的单元内容,然后用’abc’来填充它。
解:
-D DS:10 50 或 -D DS:10 L41
-F DS:10 50 ‘abc’
例2.4:显示十六进制1234与4321之和、差。
解:
-H 1234 4321
例2.5:把数据段区域DS:0-40内的内容传送给从附加段ES:10开始的内存中。
解
显示全部