ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:28.17KB ,
资源ID:20582694      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20582694.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Debug使用指南Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Debug使用指南Word文档格式.docx

1、s 在部分内存中搜索一个或多个字节值的模式。t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和下一步要执 行的指令的解码形式。u 反汇编字节并显示相应的原语句。 将被测试文件写入磁盘。xa 分配扩展内存。xd 释放扩展内存。xm 映射扩展内存页。xs 显示扩展内存的状态。 标志位的状态表示=分隔命令参数所有命令都接受参数,除了命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价: d cs:100110 d cs: d,cs:100,110=指定有效地址项 Debug命令中的address参数指定内存位置。Address是一个包含字母段

2、记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u和命令的默认段是CS。所有其他命令的默认段是DS。所有数值均为十六进制格式。 有效地址如下:在段名和偏移量之间要有冒号 CS:0100 04BA:=指定有效范围项range参数指定了内存的范围。可以为选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由字母L表示)。 例如,下面的两个语法都可以指定从CS:开始的16字节范围:10f L 10Debug子命令Debug:A(汇编)直接将记忆码合并到内存。该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值

3、。在引用的操作代码(操作码)前指定前缀记忆码。 aaddress 参数 address 指定键入汇编语言指令的位置。对使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a将在它上次停止处开始汇编。 范例 addbx,34bp+2.si-1 popbp+di pushsi 还支持所有操作码同义词,如下例所示: loopz loope ja200 jnbe-a 0100:05000100:jmp502;2-byteshortjump0502near5053-byte0505far50a5-byte使用伪指令命令提供两个常用的伪指令:db操作码,将字节值直接汇编到内存,dw操作码,将

4、字值直接汇编到内存。以下是两个伪指令的范例:1,2,3,4,THISISANEXAMPLEAQUOTATIONMARK:1000,2000,3000,BACH=C(比较) range 指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。 指定要比较的第二个内存区域的起始地址。 以下命令具有相同效果: c 100 , 107 300 c 100 L 8 300 每个命令都对100h到10Fh的内存数据块与300h30Fh的内存数据块进行比较。响应前面的命令并显示如下信息(假定DS=197F): 197F:4DE4197F:03000101679903010102A32703020103

5、35F30303010497BD03040105040305010776710307 注意:列表中缺少地址01060306。这表明那些地址中的值是相同的。 如果内存区域相同,Debug将不显示任何内容而直接返回到提示符。如果有差异,Debug将按如下格式显示: address1 byte1 byte2 addess2Debug d(转储)显示一定范围内存地址的内容。range 指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。如果不指定range,Debug程序将从以前命令中所指定的地址范围的末尾开始显示128个字节的内容。范例 10f按以下格式显示范围中的内容: 544F0053

6、415759-4552TOM.SAWYER.如果在没有参数的情况下键入命令,Debug按以前范例中所描述的内容来编排显示格式。显示的每行以比前一行的地址大个字节(如果是显示40列的屏幕,则为8个字节)的地址开头。对于后面键入的每个不带参数的将紧接在最后显示的命令后立即显示字节内容。d cs:100 L 20将从开始显示20h个字节的内容:115将显示范围从CS段的115h中所有字节的内容:当使用命令时,Debug以两个部分显示内存内容:十六进制部分(每个字节的值都用十六进制格式表示)和ASCII码部分(每个字节的值都用码字符表示)。每个非打印字符在显示的部分由句号(.)表示。每个显示行显示字节

7、的内容,第字节和第9字节之间有一个连字符。每个显示行从字节的边界上开始。=Debug:E(键入) 将数据输入到内存中指定的地址。可以按十六进制或格式键入数据。以前存储在指定位置的任何数据全部丢失。 e指定输入数据的第一个内存位置。list 指定要输入到内存的连续字节中的数据。 e cs:按下面的格式显示第一个字节的内容: EB. 要将该值更改为41,请在插入点键入41,如下所示:EB.41_可以用一个命令键入连续的字节值。在键入新值后按SPACEBAR(空格键),而不是按ENTER键。显示下一个值。在此范例中,如果按三次SPACEBAR(空格键),Debug将显示下面的值: EB .41 10

8、. 00. BC._ 要将十六进制值BC更改为42,请在插入点键入42,如下所示:EB.4110.00.BC.42_ 假定决定值10应该是6F。要纠正该值,请按HYPHEN键(-)两次以返回到地址0101(值10)。显示以下内容:0100 EB. 41 00. BC. 42- 00.- 10._ 在插入点键入6f更改值,如下所示:10.6f_ 按停止命令并返回到提示符下。 以下是字符串项的范例: e ds:Thisisthetextexample 该字符串将从DS:开始填充24个字节。如果在没有指定可选的参数的值情况下指定的值,Debug将显示地址和内容,在下一行重复地址,并等待您的输入。此时

9、,您可以执行下列操作之一: 替换字节值。为此,请在当前值后键入新值。如果您键入的值不是有效的十六进制值,或该值包含两个以上的数字,则不会回显无效或额外的字符。 进入下一个字节。为此,请按SPACEBAR(空格键)。要更改该字节中的值,请在当前值后键入新值。如果按SPACEBAR(空格键)时,移动超过了位界限,Debug程序将显示新的一行并在行首显示新地址。 返回到前一个字节。键可以反复按(-)向后移动超过多个字节。在按时,Debug开始新行并显示当前地址和字节值。 停止执行命令。在任何字节位置都可以按ENTER。 如果指定参数的值,随后的命令将使用列表中的值替换现有的字节值。如果发生错误,将不

10、更改任何字节值。List值可以是十六进制字节或字符串。使用空格、逗号或制表符来分隔值。必须将字符串包括在单或双引号中。F(填充) 使用指定的值填充指定内存区域中的地址。可以指定十六进制或格式表示的数据。任何以前存储在指定位置的数据将会丢失。 f range 指定要填充内存区域的起始和结束地址,或起始地址和长度。 指定要输入的数据。可以由十六进制数或引号包括起来的字符串组成。f 04ba:100 L 100 42 45 52 54 作为响应,Debug使用指定的值填充从04BA:1FF的内存位置。重复这五个值直到个字节全部填满为止。如果包含的字节数比中的数值大,Debug将在中反复指派值,直到中

11、的所有字节全部填充。如果在中的任何内存损坏或不存在,Debug将显示错误消息并停止包含的数值多于中的字节数,Debug将忽略中额外的值。G(转向)运行当前在内存中的程序。 g=addressbreakpoints=address 指定当前在内存中要开始执行的程序地址。address,Windows2000IP寄存器中的当前地址开始执行程序。 breakpoints 指定可以设置为命令的部分的个临时断点。 g cs:7550 Windows运行当前内存中的程序,直到执行到段中的断点地址为止。将显示寄存器的内容和标志的状态并结束g cs:7550 ,8000命令设置两个断点:遇到断点之后再次键入命

12、令,将从在断点之后的指令开始执行,而不是在通常的开始地址执行。必须在参数之前使用等号(=)以区分开始地址(address)和断点地址(breakpoints)。程序在它遇到的第一个断点处停止,而不论您在breakpoint列表的什么位置键入断点。在每个断点处用中断代码代替原始指令。当程序到达断点时,Debug将所有断点地址恢复到它们的最初指令并显示所有寄存器的内容、所有标记的状态以及最后执行指令的解码形式。显示的信息与使用r(寄存器)命令并指定断点时所显示的信息相同。如果不在断点处停止程序,Debug程序将不使用原始指令替换中断代码。可以只在包含8086操作代码(操作码)的第一个字节的地址上设

13、置断点。如果设置了个以上的断点,Debug将显示以下信息: bperrorH(十六进制)对指定的两个参数执行十六进制运算。 h value1 value2value1代表从0FFFFh范围内的任何十六进制数字。value2范围内第二个十六进制数字。h 19f 10a执行运算并显示以下结果。 02A9 0095首先将指定的两个参数相加,然后从第一个参数中减去第二个参数。这些计算的结果显示在一行中:先计算和,然后计算差。I(输入)从指定的端口读取并显示一个字节值。 i port按地址指定输入端口。地址可以是位的值。 i 2f8同时假定端口的字节值是42h。读取该字节,并将其值显示如下:42L(加载

14、)将某个文件或特定磁盘扇区的内容加载到内存。要从磁盘文件加载BX:CX寄存器中指定的字节数内容,请使用以下语法: address要略过Windows文件系统并直接加载特定的扇区,请使用以下语法: drive start number指定要在其中加载文件或扇区内容的内存位置。address,Debug将使用寄存器中的当前地址。drive 指定包含读取指定扇区的磁盘的驱动器。该值是数值型:A,B,2C等。start 指定要加载其内容的第一个扇区的十六进制数。指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载debug命令行或最近的n(名称)命令中指定的文件时,才能使用dri

15、ve、start参数。现在可以键入命令以加载F。将加载文件并显示假定需要从驱动器将起始逻辑扇区为15(0Fh)的109(6Dh)个扇区的内容加载到起始地址为的内存中。为此,请键入以下命令: l 04ba: 2 0f 6d注意当使用不带参数的L命令时,在命令行上指定的文件将加载到内存中,从地址开始。同时将BX寄存器设置为加载的字节数。如果不在命令行指定文件,所装入的文件将是最近使用n命令经常指定的文件。如果使用带参数的将从内存位置开始加载文件或指定扇区的内容。如果使用带所有参数的将加载指定磁盘扇区的内容而不是加载文件。指定范围内的每个扇区均从读取。从开始加载,直到在中指定的扇区数中的内容全部被加

16、载。加载.exe文件忽略文件的地址如果指定文件,Debug将文件重新定位到文件的标题中指定的加载地址。在文件被加载到内存前,标题自身从文件脱离,因此磁盘上的文件大小与内存中的不同。如果要检查整个文件,请使用不同的扩展名重命名文件。打开十六进制文件将具有.hex扩展名的文件认为十六进制格式文件。键入不带参数的命令,可以加载从十六进制文件中指定的地址处开始的十六进制文件。如果键入的命令包含参数,Debug将把指定的地址加到在十六进制文件中找到的地址上,以确定起始地址。=Debug:M(移动)将一个内存块中的内容复制到另一个内存块中。 m指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。

17、指定要将内容复制到该位置的起始地址。m cs:500首先将地址中的内容复制到地址510中,然后将10F地址中的内容复制到50F中,如此操作直至将中。要查看结果,请使用d(转储)命令,并使用命令指定目标地址。复制操作对现有数据的影响如果新数据没有写入正在被复制的数据块中的地址,则源数据将保持不变。但是,如果目标块已经包含数据(就象它在覆盖副本操作中一样),则将改写该数据。(覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。)执行覆盖复制操作命令执行目标地址的覆盖复制操作,而不丢失数据。将改写的地址内容首先复制。因此,如果将较高位地址的数据复制到较低位地址,则复制操作从原块的最低位地址开始并向最高位地址进行。反之,如果要将数据从低地址复制到高地址,复制操作从原块的最高地址开始,向最低地址进行。N(名称) 指定l(加载)或w(写入)命令的可执行文件的名称,或者指定正在调试的可执行文件的参数。 n要指定测试的可执行文件的参数,请使用以下语法:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1