养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

WINDOWS调试工具debug的使用

时间:2024-11-13 01:06:41

debug命令用于调试汇编语言程序,能使用户接触到计算机内部,允许用户直接观察和修改CPU的寄存器;能观察、修改内存单元;允许直接输入机器指令并单步执行;能反汇编程序。概述讲,debug是观察和了解计算机内部运行情况的有利助手。工具/原料windows系统debug命令(windows系统自带)

步骤/方法

1、在移动鼠标至电脑桌面左下角处,在“开始”菜单处单击左键,将弹出"开始菜单"栏

WINDOWS调试工具debug的使用

2、选择"运行"选项--在弹出的运行框里输入“debug”确定后弹出debug调试窗口。

WINDOWS调试工具debug的使用

WINDOWS调试工具debug的使用

3、弹出debug调试窗口中,输入下列相关命令进行操作1.Debug:A(汇编)  锂淅铄旰直接将8086/8087/8088记忆码合并到内存撅掏浑锌。  该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码(注WINDOWS中debug命令会报错属正常现象)  a[address]  参数  address  指定键入汇编语言指令的位置。对address使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a将在它上次停止处开始汇编。2.Debug:C(比较)比较内存的两个部分。  crangeaddress  参数  range  指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。3.Debug(转储)显示一定范围内存地址的内容。  d[range]  参数  range  指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。如果不指定range,Debug程序将从以前d命令中所指定的地址范围的末尾开始显示128个字节的内容。4.Debug:E(键入)将数据输入到内存中指定的地址。  可以按十六进制或ASCII格式键入数据。以前存储在指定位置的任何数据全部丢失。  eaddress  参数  address  指定输入数据的第一个内存位置。  list5.Debug:F(填充)使用指定的值填充指定内存区域中的地址。  可以指定十六进制或ASCII格式表示的数据。任何以前存储在指定位置的数据将会丢失。  frangelist  参数  range  指定要填充内存区域的起始和结束地址,或起始地址和长度。 list  指定要输入的数据。List可以由十六进制数或引号包括起来的字符串组成。6.Debug:G(转向)运行当前在内存中的程序。  g[=address][breakpoints]  参数  =address  指定当前在内存中要开始执行的程序地址。如果不指定address,Windows2000将从CS:IP寄存器中的当前地址开始执行程序。  breakpoints  指定可以设置为g命令的部分的1到10个临时断点。7.Debug:H(十六进制)对指定的两个参数执行十六进制运算。  hvalue1value2  参数  value1  代表从0到FFFFh范围内的任何十六进制数字。  value2  代表从0到FFFFh范围内第二个十六进制数字8.Debug:I(输入)从指定的端口读取并显示一个字节值。  iport  参数  port  按地址指定输入端口。地址可以是16位的值。9.Debug:L(加载)将某个文件或特定磁盘扇区的内容加载到内存。  要从磁盘文件加载BX:CX寄存器中指定的字节数内容,请使用以下语法:  l[address]  要略过Windows2000文件系统并直接加载特定的扇区,请使用以下语法:  laddressdrivestartnumber  参数  address  指定要在其中加载文件或扇区内容的内存位置。如果不指定address,Debug将使用CS寄存器中的当前地址。  drive  指定包含读取指定扇区的磁盘的驱动器。该值是数值型:0=A,1=B,2=C等。  start  指定要加载其内容的第一个扇区的十六进制数。  number  指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载debug命令行或最近的Debugn(名称)命令中指定的文件时,才能使用drive、start和number参数。10.Debug:M(移动)将一个内存块中的内容复制到另一个内存块中。  mrangeaddress  参数  range  指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。  address  指定要将range内容复制到该位置的起始地址。11.Debug:N(名称)指定Debugl(加载)或w(写入)命令的可执行文件的名称,或者指定正在调试的可执行文件的参数。  n[drive:][path]filename  要指定测试的可执行文件的参数,请使用以下语法:  nfile-parameters  参数  如果在没有参数的情况下使用,则n命令清除当前规范。  [drive:][path]filename  指定要测试的可执行文件的位置和名称。  file-parameters  为正在测试的可执行文件指定参数和开关。12.Debug:O(输出)将字节值发送到输出端口。  oportbyte-value  参数  port  通过地址指定输出端口。端口地址可以是16位值。  byte-value  指定要指向port的字节值。13.Debug:P(执行)执行循环、重复的字符串指令、软件中断或子例程;或通过任何其他指令跟踪。  p[=address][number]  参数  =address  指定第一个要执行指令的位置。如果不指定地址,则默认地址是在CS:IP寄存器中指定的当前地址。  number  指定在将控制返回给Debug之前要执行的指令数。默认值为1。14.Debug:Q(退出)停止Debug会话,不保存当前测试的文件。  当您键入q以后,控制返回到Windows2000的命令提示符。  q  参数  该命令不带参数。注:是如果从CMD进入DEBUG,则才会有上面这张图,如果是从运行里直接进入DEBUG的话则没有上面这张图片15.Debug:r(寄存器)显示或改变一个或多个CPU寄存器的内容。  r[register-name]  参数  无  如果在没有参数的情况下使用,则r命令显示所有寄存器的内容以及寄存器存储区域中的标志。  register-name  指定要显示其内容的寄存器名。16.Debug:s(搜索)在某个地址范围搜索一个或多个字节值的模式。  srangelist  参数  range  指定要搜索范围的开始和结束地址。有关range参数有效值的信息,请单击“相关主题”列表中的Debug。  list  指定一个或多个字节值的模式,或要搜索的字符串。用空格或逗号分隔每个字节值和下一个字节值。将字符串值包括在引号中。17.Debug:T(跟踪)执行一条指令,并显示所有注册的内容、所有标志的状态和所执行指令的解码形式。  t[=address][number]  参数  =address  指定Debug启动跟踪指令的地址。如果省略address参数,跟踪将从程序的CS:IP寄存器所指定的地址开始。  number  指定要跟踪的指令数。该值必须是十六进制数。默认值为1。  18.Debug:U(反汇编)反汇编字节并显示相应的原语句,其中包括地址和字节值。反汇编代码看起来象已汇编文件的列表。  u[range]  参数  无  如果在没有参数的情况下使用,则u命令分解20h字节(默认值),从前面u命令所显示地址后的第一个地址开始。  range  指定要反汇编代码的起始地址和结束地址,或起始地址和长度。19.Debug:W(写入)将文件或特定分区写入磁盘。  要将在BX:CX寄存器中指定字节数的内容写入磁盘文件,请使用以下语法:  w[address]  要略过Windows2000文件系统并直接写入特定的扇区,请使用以下语法:  waddressdrivestartnumber  参数  address  指定要写到磁盘文件的文件或部分文件的起始内存地址。如果不指定address,Debug程序将从CS:100开始。  drive  指定包含目标盘的驱动器。该值是数值型:0=A,1=B,2=C,等等。  start  指定要写入第一个扇区的十六进制数。  number  指定要写入的扇区数。20.Debug:XA(分配扩展内存)分配扩展内存的指定页面数。  要使用扩展内存,必须安装符合4.0版的Lotus/Intel/Microsoft扩展内存规范(LIMEMS)的扩展内存设备驱动程序。  xa[count]  参数  count  指定要分配的扩展内存的16KB页数。21.Debug:XD(取消分配扩展内存)释放指向扩展内存的句柄。  要使用扩展内存,必须安装符合4.0版的Lotus/Intel/Microsoft扩展内存规范(LIMEMS)的扩展内存设备驱动程序。  xd[handle]  参数  handle  指定要释放的句柄。22.Debug:XM(映射扩展内存页)将属于指定句柄的扩展内存逻辑页映射到扩展内存的物理页。  要使用扩展内存,必须安装符合4.0版的Lotus/Intel/Microsoft扩展内存规范(LIMEMS)的扩展内存设备驱动程序。  xm[lpage][ppage][handle]  参数  lpage  指定要映射到物理页ppage的扩展内存的逻辑页面号。  ppage  指定将lpage映射到的物理页面号。  handle  指定句柄。23.Debug:XS(显示扩展内存状态)显示有关扩展内存状态的信息。  要使用扩展内存,必须安装符合4.0版的Lotus/Intel/Microsoft扩展内存规范(LIMEMS)的扩展内存设备驱动程序。  xs  参数  该命令不带参数。  

WINDOWS调试工具debug的使用

WINDOWS调试工具debug的使用

© 一点知识