站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Debug
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
[[Image:K.jpg|200px|right|Debug]] ==Debug定义及其作用== 它是一个[[DOS]]实用程序,是供程序员使用的程序调试工具。 *可以用它检查内存中任何地方的字节以及修改任何地方的字节。 *可以用于逐指令执行某个程序以验证程序运行的正确性。 *可以追踪执行过程,比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与[[磁盘]][[扇区]]等。 ==Debug命令介绍== ===Debug功能=== *直接输入,更改,跟踪,运行[[汇编]]语言[[源程序]] *观察操作系统的内容 *查看[[ROM]] [[BIOS]]的内容 *观察更改[[RAM]]内部的设置值 *以扇区或文件的方式读写软盘数据 ===相关介绍=== *Debug把所有数据都作为字节序列处理。因此它可以读任何类型的文件。Debug可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。 *在Debug中输入数据有两种方法: 提示方法和非提示方法。在用提示方法时,用户可以输入要求输入数据的命令,后跟数据所要输入的地址。然后用户就可以看到该地址中已有内容及一个冒号提示符。此时用户可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到短横(-)提示符。在运用非提示方法时,用户可以输入要输入数据的内存地址以及要输入的字节。但与使用字处理程序或正文编辑程序时不一样,在使用Debug时,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。 *在使用Debug时可以只涉及内存中的数据,从而一般都要指定所要处理的[[内存]]地址,地址的输入格式是: [段地址]: [位移]。如果没有输入地址,Debug将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,这一专用区域用于建立[[DOS]]与程序之间的联系,Debug总是用四位十六进制数表示地址。 ==Debug常用命令及其功能== *A[地址] 汇编命令 功能: 将指令直接汇编成机器码输入到内存中。用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制,用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改语句被汇编到 CS:0100区域。 *C[源地址范围][目的地址]比较命令 功能: 比较两内存区域中的内容是否相同,若不同则显示其地址和内容。 *D[地址] 或D[起始地址][目的地址] 转储命令 功能: 以内存映象方式显示内存中的信息。转储用左右两部分显示内存映象内容,左边以十六进制,右边以ASCII字符显示,所有不可打印字符用句号表示。每行显示16个字节的内容,在第八和第九个字节之间有一个连字符 - 此命令隐含的段地址为DS的值。若未指定起始地址,则D命令从显示的最后一个单元的下一个单元开始显示,若以前没有使用给D命令, 则从初使化的段寄存器的内容,加上地址偏移量 0100H 开始显示。 *E[地址] [字节串) 修改内存命令 功能: 从指定的地址开始修改内存值。 *F[地址范围] [字节或字节串] 填写命令 功能: 将要填写的字节或字节串填入由地址范围指定的[[存储器]]中。 *G[=起始地址] [[断点]……] 执行命令 功能: 执行正在调试的程序,当达到断点时停止执行, 并且显示[[寄存器]]标志和下一条要执行的命令。如果没有指定起始地址,那么当前指令地址由[[CS]],[[IP]]寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,最多允许用户设定10个断点。 *L[地址][盘号:][逻辑扇区号][扇区数] 功能: 将一个文件或盘的绝对扇区装入存储器。单个L命令能够装入的最大扇区数是 80H,其中盘号 0,1,2,3……分别代表 A,B,C,……出现读盘错,显示错误信息。 *M[地址范围][起始地址] 数据传送命令 功能: 把地址范围内的存储器单元的内容移到起始地址的指定地址中。传送期间,源区和目标区可以部分重叠;传送后源区域数据保持不变。 *N[盘号: ] [路径] [文件名] [扩展名] 功能: 定义操作文件名。可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存 CS:5C和CS:6C上,供以后的L和W命令操作之用。我们在运行程序侦错时,在启动Debug时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出Debug。 *P[=地址] [数据] 进程命令 功能: 将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。在执行一条[[子程序]]调用指令,循环指令,中断指令或一个重复字符串指令时,发出P命令去执行有关指令,并且返回到要执行的下一条指令。 P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则CS:IP所指定程序的地址开始一次运行一条令。 *S[地址范围] [字符串] 功能: 在指定的地址范围内查找给定的字符串。用来指定在地址范围内查找一个字符串,若找到则显示其地址,否则直接显示Debug提示符。隐含地址为DS段值。 *T[=地址][指令条数] 跟踪命令 功能: 逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容。通常采用跟踪一条[[指令]],但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态。 *W[地址] [盘符:] [起始扇区] [扇区数] 写盘命令 功能: 将修改过的数据写到磁盘上。可以将指定内存地址开始的数据写在磁盘上,可以在没有指定参数,或指定地址参数的情况下,将调试文件写在磁盘上。 ==Debug命令的实际应用== *非物理0磁道坏软盘的修复。此种损坏从软盘盘面上来看并没有明显的划伤和霉变,一般可以恢复其数据,也可使软盘重新在利用。 *硬盘启动失败处理。在正常机上格式化一张软盘,无其它数据,进入Debug即可。 *CMOS数据的保存,恢复CMOSRAM '地址口'的口地址为 70h '数据口'的口地址为 71h 读取时只需将读的CMOSRAM的地址送到70h,随后就可以从71h中得到所需数据。 *硬盘主引导扇区数据的保存与恢复。硬盘工作正常时读取主引导扇区信息。 *冷启动与热启动。用Debug实现系统冷启动与热启动程序。 *用Debug作硬盘[[低级格式化]]。硬盘低级格式化一般用dm,但Debug也可以低级格式化硬盘,进入Debug,敲入相关的汇编程序代码即可实现。 ==相关条目== *[[系统]] *[[DOS]] ==参考资料== *http://baike.baidu.com/taglist?tag=DOS%C3%FC%C1%EE&tagfromview [[category:计算机术语|J]] [[category:程序|C]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)