欢迎来到天天文库
浏览记录
ID:32364487
大小:1.02 MB
页数:11页
时间:2019-02-03
《调试工具debug的使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验一调试工具DEBUG的使用1.1.实验目的1、学习如何启动在Windows的命令模式下启动DEBUG;2、掌握DEBUG的常用基本命令;3、学习如何用DEBUG进行跟踪调试。1.2.预备知识1、进制转换需要同学们熟练掌握二进制、八进制、十进制和十六进制的互相转换算法。2、寄存器寄存器是CPU内部的数据存储资源,是汇编程序员能直接使用的硬件资源之一。寄存器的存取速度比Cache还要快。在16位CPU中,总共有4个16位数据寄存器AX、BX、CX和DX,每个16位寄存器又可分为2个8位寄存器(例如AX的高八位称为AH,低八位称为AL);2个变址寄存器DI和SI;2个指针寄存器SP和BP;4个段
2、寄存器ES、CS、SS和DS;1个标志寄存器FLAG;1个指令指针寄存器IP。3、标志位。标志寄存器FLAG的每个位都可以作为标志位。16位CPU使用其中八个位表示溢出、中断、进位等状态。每个标志位都有置位和复位两种状态,它们在DEBUG的表示方法见下表:表1.1DEBUG中标志位的符号表示标志名称溢出OF方向DF中断IF负号SF零ZF辅助进位AF奇偶PF进位CF置位状态OVDNEINGZRACPECY复位状态NVUPDIPLNZNAPONC1.3.DEBUG的命令集表1.2DEBUG命令及其含义命令格式功能说明A[地址]输入汇编指令C[范围]起始地址对由“范围”指定的区域与“起始地址”指定的
3、同大小区域进行比较,显示不相同的单元D[范围]显示指定范围内的内存单元内容E地址字节值表用值表中的值替换从“地址”开始的内存单元内容F范围字节值表用指定的字节值表来填充内存区域G[=起始地址][断点地址]从起点(或当前地点)开始执行,到终点结束H数值1数值2显示二个十六进制数值之和、差I端口地址从端口输入L[地址[驱动器号扇区扇区数]]从磁盘读M范围地址把“范围”内的字节值传送到从“地址”开始的单元N文件标识符[文件标识符…]指定文件名,为读/写文件做准备O端口地址字节值向端口输出P[=地址][指令数]按执行过程,但不进入子程序调用或软中断Q退出DEBUG,不保存正在调试的文件R[寄存器名]显
4、示和修改寄存器内容S范围字节值表在内存区域内搜索指定的字节值表。如果找到,显示起始地址,否则,什么也不显示T[=地址][指令数]跟踪执行,从起点(或当前地点)执行若干条指令U[范围]反汇编,显示机器码所对应的汇编指令W[地址[驱动器号扇区扇区数]]向磁盘写内容,(BX、CX)为写入字节数关于参数的几点说明:1.进制:在DEBUG中输入或显示的数据都是十六进制形式2.分隔:命令和参数、参数和参数之间要用空格、逗号或制表符等分隔3.地址:用“段值:偏移量”的形式来表示地址,也可用段寄存器来代表“段值”例如:1000:0,ds:10,es:200,cs:30等4.范围:表示地址范围,它有二种表示方式
5、:“地址1地址2”和“地址1长度”。其中:“地址1”表示起始地址,要用“段值:偏移量”来表达;“地址2”表示终止地址,只用“偏移量”来表示;“长度”用字母’L’开头的数值来表示。例如:100:50100——段值为100,偏移量从50到100的内存区域;100:50L100——段值为100,偏移量从50开始的100个字节区域。5.端口地址:二位十六进制数值6.字节值:二位十六进制数值7.字节值表:由若干个字节值组成,也可以是用引号括起来的字符串8.驱动器号:0—驱动器A、1—驱动器B、2—驱动器C、3—驱动器D等1.4.DEBUG使用示例1.4.1启动DEBUG1.打开Windows命令窗口在W
6、indows95/98的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“command”命令;在WindowsXP的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“cmd”命令;1.启动DEBUG在命令窗口中启动DEBUG,启动命令一般为:DEBUG[文件名][参数表]。其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。被调试的文件可以是系统中的任何文件,但通常它们的后缀为.EXE或.COM。当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。DEBUG中标志位的符号表示如表1.1所示,其所有命令及其含义如表1.
7、2所示。关于使用命令的几点说明:1.在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行2.命令是单个字母,命令和参数的大小写可混合输入3.可用F1、F2、F3、Ins、Del、左移键、右移键等编辑键来编辑本行命令4.当命令出现语法错误时,将在出错位置显示“^Error”5.可用Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用Ctrl+S或Ctrl+NumLock来暂停屏
此文档下载收益归作者所有