欢迎来到天天文库
浏览记录
ID:25170982
大小:61.18 KB
页数:4页
时间:2018-11-17
《debug使用方法简介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DEBUG使用方法简介启动Debug,它是可用于测试和调试MS-DOS可执行文件的程序。 Debug[[drive:][path]filename[parameters]] 参数 [drive:][path]filename 指定要测试的可执行文件的位置和名称。 parameters 指定要测试的可执行文件所需要的任何命令行信息。 ++ 说明 使用Debug命令但不指定要测试的文件 如果使用没有位置和文件名的Debug命令,然后键入所有的Debug命令以响应Debug提示符,连字符(-)。 Debug命令 以下是Debug命令列
2、表: ?显示Debug命令列表。 a汇编8086/8087/8088记忆码。 c比较内存的两个部分。 d显示部分内存的内容。 e从指定地址开始,将数据输入到内存。 f使用指定值填充一段内存。 g运行在内存中的可执行文件。 h执行十六进制运算。 i显示来自特定端口的1字节值。 l将文件或磁盘扇区内容加载到内存。 m复制内存块中的内容 /n为l或w命令指定文件,或者指定正在测试的文件的参数。 o向输出端口发送1个字节的值。 p执行循环、重复的字符串指令、软件中断或子例程。 q停止Debug会话。 r显示或改变一个或多个寄存器
3、。 s在部分内存中搜索一个或多个字节值的模式。 t执行一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug下一步要执行的指令的解码形式。 u反汇编字节并显示相应的原语句。 w将被测试文件写入磁盘。 xa分配扩展内存。 xd释放扩展内存。 xm映射扩展内存页。 xs显示扩展内存的状态。 分隔命令参数 所有Debug命令都接受参数,除了q命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价: dcs:100110 dcs:100110 d,cs:100,110 指定有效地
4、址项 Debug命令中的address参数指定内存位置。Address是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u和w命令的默认段是CS。所有其他命令的默认段是DS。所有数值均为十六进制格式。 有效地址如下: CS:0100 04BA:0100 在段名和偏移量之间要有冒号。 指定有效范围项 Debug命令中的range参数指定了内存的范围。可以为range选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由l表示)。 例如,下面的两个语法都可以指定从CS:100开始
5、的16字节范围: cs:10010f cs:100l10 ++ Debug子命令 选择Debug命令以获得详细信息。 Debug:A(汇编) Debug:C(比较) Debug(转储) Debug:E(键入) Debug:F(填充) Debug:G(转向) Debug:H(十六进制) Debug:I(输入) Debug:L(加载) Debug:M(移动) Debug:N(名称) Debug:O(输出) Debug:P(执行) Debug:Q(退出) Debug:r(寄存器) Debug:s(搜索) Debug
6、:T(跟踪) Debug:U(反汇编) Debug:W(写入) Debug:XA(分配扩展内存) Debug:XD(取消分配扩展内存) Debug:XM(映射扩展内存页) Debug:XS(显示扩展内存状态) ***********************Debug子命令****************************** Debug:A(汇编) 直接将8086/8087/8088记忆码合并到内存。 该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前
7、指定前缀记忆码。 a[address] 参数 address 指定键入汇编语言指令的位置。对address使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a将在它上次停止处开始汇编。 有关将数据输入到指定字节中的信息,请单击“相关主题”列表中的DebugE(键入)。 有关反汇编字节的信息,请单击“相关主题”列表中的DebugU(反汇编)。 范例 a命令支持所有形式的间接注册命令,如下例所示: addbx,34[bp+2].[si-1] pop[bp+di] push[si]) 还支持所有操作码同义词,如下例所示
8、: loopz100 loope100 ja200 jnbe200 对于8087操作
此文档下载收益归作者所有