1.怎么用Dos命令进入debug?
debug没有图形界面使用的时候直接在dos环境下
详见 /view/569101.htm
DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。
它的功能包括以下几个方面。
1,直接输入,更改,跟踪,运行汇编语言源程序;
2,观察操作系统的内容;
3,查看ROM BIOS的内容;
4,观察更改RAM内部的设置值;
5,以扇区或文件的方式读写软盘数据
DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEBUG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。
在DEBUG中输入数据有两种方法: 提示方法和非提示方法。在用提示方法时,用户可以输入要求输入数据的命令,后跟数据所要输入的地址。然后用户就可以看到该地之中已有内容及一个冒号提示符。此时用户可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到短横(-)提示符。在运用非提示方法时,用户可以输入要输入数据的内存地址以及要输入的字节。但与使用字处理程序或正文编辑程序时不一样,在使用DEBUG时,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。
在使用DEBUG时可以只涉及内存中的数据,从而一般都要指定所要处理的内存地址,地址的输入格式是: [段地址]: [位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,这一专用区域用于建立DOS与程序之间的联系。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。
讲到这里大家应该对DEBUG有了初步的了解,但是光知道这些可不够,接下来我来讲讲DEBUG的命令格式和命令。当输入
DEBUG
调用了DEBUG程序,就会出现一个短横提示符,用户就可以在这一短横后输入DEBUG程序的命令。有些DEBUG命令会显示一个内存地址并产生一个作为提示符的冒号。在这些提示符后,用户可以输入一个新值以改变所显示位置原来的值。如果用户不输入一个新值而是按下回车或CTRL+C,那么原来的值不会改变。
一般用不着把地址和命令名字分开。例如,用转储命令D察看100号地址的数据,那么这个命令可以用以下任一种形势输入:
D100
D 100
D。100
D,100
如果输入的命令中出现了错误,DEBUG将在下一行对着错误的位置标记出来,例如:
-s100 d 12
^Error
2.[请教]在DOS下的DEBUG命令的详细用法
名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump) 内存16进制显示 d [address]或 d [range] e (Enter) 修改内存字节 e address [list] f (fin) 预置一段内存 f range list g (Go) 执行程序 g [=address][address。
] h (Hexavithmetic) 制算术运算 h value value i (Input) 从指定端口地址输入 i pataddress l (Load) 读盘 l [address [driver seetor> m (Move) 内存块传送 m range address n (Name) 置文件名 n filespec [filespec。] o (Output) 从指定端口地址输出 o portadress byte q (Quit) 结束 q r (Register) 显示和修改寄存器 r [register name] s (Search) 查找字节串 s range list t (Trace) 跟踪执行 t [=address] [value] u (Unassemble) 反汇编 u [address ]或range w (Write) 存盘 w [address[driver sector secnum> ? 联机帮助 ? debug小汇编a命令 debug小汇编a命令是一个很有用的功能,许多的小程序都要他来做。
编一些小程序比汇编要来得方便,快洁。 在Debug中,中断是非常有用的,首先,让我们先了解一下中断。
所谓中断,其实,就是,当你做某事时,有人过来找你有其他事,你先放下手中的事(计算机中,称为保护现场) ,再去与叫你的那个人办事去,等完了,你又回,接着做刚才的事。这是个很通俗的讲法。
计算机在运行时,也会出现这种情况,我们叫之中断。 下面是他的一些常用中断向量的入口值详解:(记住哦,很用的。
呵呵) IBM PC 中断 int10 ooH 屏幕方式设置 入口:AH=0,AL=显示方式代码(0--6) 0:40*25 黑白 1:40*25 彩色 2:80*25 黑白 3:80*25 彩色文本 4:320*200 彩色 5:320*200 黑白 6:640*200 黑白图形模式 7:80*25 单色字符(单色显示器) 0BH 色彩设置 入口:AH=0B,BL=0 设背景色,BH=0--15 BL=1 设调色码,BH=0--1 0CH 写图形点 入口:AH=0C,CX:DX=列号:行号,AL=颜色 ODH 读图形点 入口:AH=0D,CX:DX=列号:行号 返回:AL=颜色 0EH 在当前页、当前光标处写字符 入口:AH=0E,AL=字符的ASCII码,BL=前景色 OFH 显示器状态 入口:AH=0F 返回:AL=当前显示器方式,AH=屏幕列数,BH=当前页号 01H 光标设置 入口:AH=1,CH=光标起始行号(00--0C),CL=光标结束行号(00--0C) 注:CH > CL 02H 光标定位 入口:AH=2,BH=页号,DH:DL=起始行:列 03H 读光标位置 入口:AH=3,BH=页号。 返回:DH:DL=起始行:列 06H 窗口上卷 入品:AH=6,AL=窗口上卷行数,CH:CL-DH:DL 窗口坐标 注:AL=0 卷动整个窗口 07H 窗口下卷 入口:AH=7,AL=窗口下卷行数,CH:CL-DH:DL 窗口坐标 08H 读当前光标处字符和属性 入口:AH=8,BH=页号。
返回:AH:AL=字符的颜色:字符的ASCII码 注:颜色代码见下对照表 09H:在当前光标处写字符和属性 注:光标不下移 入口:AH=9,BH=页号,BL:AL=字符的颜色:字符的ASCII码,CX=重复次数 1 2 3 4 5 6 7 8 BL R G B I R G B 闪烁 字符底色 加亮 字符颜色 中断向量号表 中断号 解释 中断号 解释 0 除数为0错 19 引导装入程序 1 音步中断 1A 日时调用 2 不可屏蔽中断NMI 1B 键盘阻断时得到控制权 3 断电中断(CCH) 1C 时钟中断时得到控制权 4 溢出中断 1D 指向CRT初始参数表 5 屏幕打印中断 1E 指向盒带参数表 6-7 保留 1F 1KB图形模式 8 计时器中断(18.2秒) 20 结束DOS程序 9 键盘中断 21 DOS功能调用 A-D 保留 22 结束地址(建义用EXEC) E 软盘机中断 23 DOS Crtl-Break退出地址 F 保留 24 DOS致命错向量 10 屏幕I/O调用 25 DOS绝对磁盘读 11 设备检查调用 26 DOS绝对磁盘写 12 存储器检查调用 27 结束程序并驻留(建义用31h) 13 软盘机I/O调用 28-3F DOS保留 14 RS-233I/O调用 40-7F 未用 15 盒带机I/O调用 80-85 BASIC保留 16 键盘I/O调用 86-F0 BASIC解释程序用 17 打印机I/O调用 F1-FF 未用 18 ROM-BASIC入口 指令名详解 call 指令(过程调用)(控制指令-长转移) 详解: 段内直接调用 段内间接调用(寄存器) 段内间接调用(存储器) 段间直接调用 段间间接调用 指令名 jmp 指令(无条件转移指令)(控制指令-长转移) 详解: 段内直接跳转 短段内直接跳转 段内间接跳转(寄存器) 段内间接跳转(存储器) 段间直接跳转 段间间接跳转 指令名 ret 指令(过程返回)(控制指令-长转移) 详解: 段内返回 段内返回立即数加于sp 段间返回 段间返回立即数加于sp na/jnbe 指令(控制指令-短转移) 不小于或不等于时转移 jae/jnb 指令 (控制指令-短转移) 大于或等于时转移 jb/jnae 指令 (控制指令-短转移) 小于转移 jbe/jna 指令 (控制指令-短转移) 小于或等 于转移 jg/jnle 指令(控制指令-短转移) 大于转移 jge/jnl 指令 (控制指令-短转移) 大于或等于转移 jl/jnge 指令 (控制指令-短转移) 小于转移 jle/jng 指令 (控制指令-短转移) 小于或等 于转移 je/jz 指令 (控制指令-短转移) 等于转移 jne/jnz 指令 (控制指令-短转移) 不等于转移 jc 指令 (控制指令-短转移) 有进位时转移 jnc 指令 (控制指令-短转移) 列进位时转移 jno 指令 (控制指令-短转移) 不溢出时转移 jnp/jpo 指令 (控制指令-短转移) 奇偶性为奇数时转移 jns 指令 (控制指令-短转移) 符号位。
3.dos 里的 debug怎么用啊
用DEBUG清除CMOS密码详解
上期介绍的清除CMOS密码的方法中,有一种常用方法就是通过使用DOS系统外部命令DEBUG来清除CMOS的密码。操作步骤如下:
进入DOS后(注意:不要在Win2000/NT/XP环境下进入,因为这不是真正的DOS),在命令提示符后输入DEBUG,回车后再输入如下命令:
-o7016-o7116-q此时,已退出到DOS提示符。重新启动计算机,你就会发现原来的CMOS密码已经被清除。
它的原理非常简单:当计算机接通电源时,首先执行的是BIOS中的加电自检程序POST,它首先对整个计算机系统进行检测,包括对CMOSRAM中的配置信息作“累加和”测试。该累加结果和计算机以前的存储结果进行比较,当两者相吻合时,计算机认为CMOSRAM中的配置信息有效,自检继续进行;当两者的结果不相等时,系统报告错误,要求计算机重新配置,并自动取BIOS的默认设置值,原有CMOS口令被忽略,此时即可进入BIOSSETUP进行设置。
因此,当口令保护被设置为SETUP时,可利用一些小工具,特别是DOS系统中的常用外部命令(如使用DOS的调试工具DEBUG.COM)来清除CMOS密码。即往CMOSRAM中的任一单元写入一个数据,破坏CMOS的累加测试值,就能达到清除CMOS口令的目的。
一般来讲,计算机的CMOS设置可以通过70H和71H两个端口进行访问和更改,使用DEBUG命令向端口发送数据的“o”命令向70H和71H两个端口发送一些错误数据,就可以清除CMOS密码,当然这时CMOS里的其他设置也都恢复成了缺省设置值,需要我们重新设置。
通常,我们知道的一般就是输入以上的数据,其实还有不少数值同样可以达到清除CMOS密码的目的,如10、16、17、20、23、34、FF等。有兴趣的朋友不妨多用几个数据试试。
当然,为了使用上的方便,我们可以将以上的操作用DEBUG写成一个程序放在自己命名的文件中,具体操作步骤就是进入DOS后,运行DEBUG,输入如下编码:
-A100XXXX:0100MOVDX,70XXXX:0103MOVAL,10XXXX:0105OUTDX,ALXXXX:0106MOVDX,71XXXX:0109MOVAL,01XXXX:010BOUTDX,ALXXXX:010C-DRCXC-DNDELCMOS.COM-WWRITING000CBYTES-Q这样,以后只要运行这个文件,就可以轻松清除CMOS的密码,免去了每次输入的麻烦。
用DEBUG 可以看到很细节的东西
例 有一条电路(DDN)端口协议能起来,但链路协议始终起不来,用DEBUG PPP PAC可以看到两端协商的情况。有一次,我遇到此种情况,我说是电信链路的问题,电信说是我的设备或配置的问题,最后用DEBUG发现我的S口上一直有OUT,但没有IN,说明DDN的透传电路根本没有起作用。最后电信修改电路后正常。
有一条FR(我已是电信人员)用户说电路有问题,我上门查发现用户端口上有IN,OUT,说明用户的路由器可以与REMOTE ROUTER建立基本通讯,由于配置的问题PPP协商无法通过,用户信服,最终发现了自己的问题。
OSPF路由协议的路由表不正常,发现某个NEIGHBER以极高的频率发包,关掉该结点后正常,最后发现该点有环路。
总之,DEBUG 是很有用的工具,平时注意收集一些成功的信息(例如PPP,OSPF)当出现问题时进行对比,可能会有帮助。
注意,DEBUG信息当中有很多内容可能看不懂,但可以在网站查,较难,
DEBUG的命令语法很简单,但要注意比较占资源,有时开始一个输出量很大的DEBUG后,路由器基本上不响应其他所有命令,有点象死机,但可以重启。一般在CON中使用此命令,TELNET最好不要用。
4.win10怎么打开debug
(1)在互联网上下载DOSBOX、DEBUG32.EXE或debug.exe程序,把DOSBOX程序安装 在计算机中。 DEBUG32.EXE或debug.exe程序。
(2)在已知路径的文件夹中存储DEBUG32.EXE或debug.exe程序。
(3)双击桌面上的运行安装好的DOSBOX程序。
(4)依次输入以下命令:
1> Mount c f:\1 *********** 这个指令的意思是将1这个文件夹挂载为DOSBOX的C盘(这样1文件夹就是DOSBOX的C盘)
2> C: *********** 切换到C盘 3> Debug32
总结:上面的界面窗口已经打开了debug,其后操作和操作debug相同,退出时输入命令:quit 并点击enter键,就退出debug调试,重新进入DOSBOX程序中。
5.怎样在dos用debug调试程序
ebug调试程序是以DOS外部命令程序形式提供的,它的文件名为Debug.com 。
如果你使用的是windows系统,那么如果是32位的电脑,一般都自带有debug调试工具,而64位的一般没有自带这个工具,需要自己进行安装。XP系统暂时不作介绍,读者可以参照我介绍的方法进行尝试。
首先,点开windows开始图标。在收索框里输入cmd,注意是cmd,不是debug,虽然输入debug也可以,但是在后续的程序调试中会出现一些问题。
输入cmd并按回车后即可打开调试工具了。若直接输入debug打开,工作界面与输入cmd打开有所不同,建议还是通过cmd打开debug。
打开cmd程序后,输入debug,大小写均一样,习惯用大写,为方便操作,后续的操作我一律使用小写。输入之后按回车,会出现下图所示的工作框。
在debug窗口就可以进行汇编语句的编写和调试了。先在窗口输入A,然后回车,系统自动分配到内存,如本图所示,其中13F1是寄存器的段基址,冒号后面的0100是偏移地址,对应的物理地址是13F1100,即程序在此地址下开始存储。
然后输入汇编语句,举一个简单的例子,将数据2341H送入寄存器ax和cx中。记住输入的数据在汇编是已经默认是十六进制,不需要在加h,否则会显示错误。
6.win10怎么打开debug
(1)在互联网上下载DOSBOX、DEBUG32.EXE或debug.exe程序,把DOSBOX程序安装 在计算机中。
DEBUG32.EXE或debug.exe程序。(2)在已知路径的文件夹中存储DEBUG32.EXE或debug.exe程序。
(3)双击桌面上的运行安装好的DOSBOX程序。(4)依次输入以下命令: 1> Mount c f:\1 *********** 这个指令的意思是将1这个文件夹挂载为DOSBOX的C盘(这样1文件夹就是DOSBOX的C盘) 2> C: *********** 切换到C盘 3> Debug32 总结:上面的界面窗口已经打开了debug,其后操作和操作debug相同,退出时输入命令:quit 并点击enter键,就退出debug调试,重新进入DOSBOX程序中。
7.win10怎么用debug
下载安装VMware Workstation 12 Player,VMWare Player和VMWare Workstation相比是来免费的,除非一些特殊的功能,一般的需求都能达到。
这里的原理跟安装虚拟机相同。2怎样下载安装 VMware Player 12下载系统镜自像iso,一般下载XP ,win7都可以,XP占空间相对小。
VMware Workstation 12 Player和Windows XP sp3 官方原版镜像iso下载完毕之后,打开VMware Player,点击创建新虚拟机,选择安装光盘映像文件,选择你刚刚下百载的iso文件的路径,点击下一步。去搜一个Windows XP sp3的序列号,网上有很多。
分配磁盘空间最好在40g到60g之间。等待xp系统在win10上安装成功。
6按住windows健+R,运行cmd,输入debug,之后你就可度以在win10上运行debug了。
转载请注明出处windows之家 » win10如何dos中debug