debug有什么作用!!!!!!!!!!!!!!
☆DEBUG实用小程序集锦☆
1. 非物理0磁道坏软盘的修复
此种损坏从软盘盘面上来看并没有明显的划伤和霉变。一般可以恢复其数据,也可是软盘重新在利用。
处理方法如下:
Ⅰ. 进入debug
Ⅱ. 取一张引导区没有损坏的好磁盘,插入软驱
-L 100 0 0 1
Ⅲ. 插入损坏的磁盘到软驱
-W 100 0 0 1
-Q
注意:好盘与坏盘容量必须相同
2. 物理0磁道坏软盘中的数据读取
对于0磁道损坏的磁盘,一般来说是应该抛弃了,当你也不妨试一试已下方法:
磁化处理:用较强的磁铁在靠近坏磁盘的表面处反复移动,切不可碰到磁盘介质,以免划伤表面,然后在试试格式化。
软盘换面:小心的将磁盘打开,坚磁片与金属芯片分开,方面后再按原来的方法粘在一起即可,在重新格式化。
Diskfix:对于diskfix想必大家都用的比较多了,里面的磁盘修复功能很好用的。能修复大多数磁盘表面错误。
3. 硬盘启动失败处理
在正常机上格式化一张软盘,无其它数据
进入debug
-L 0 2 0 1
-W 0 0 0 1
-Q
用系统盘启动故障机后
在进入debug
-L 0 0 0 1
-w 0 2 0 1
-Q
4. 软盘不能正确读取解决方法
如果使用软盘时出现如下提示
General failure error reading drive A
可以用以下方法解决:
将一张好盘插入软驱
进入debug
-A 100
****:*100 MOV AL,0
****:**** MOV CX,1
****:**** MOV DX,0
****:**** MOV BX,1000
****:**** INT 25
****:**** INT 20
回车
-G=0100
插入坏盘并进入Debug
-A 200
****:*100 MOV AL,1
****:**** MOV CX,1
****:**** MOV DX,0
****:**** MOV BX,1000
****:**** INT 26
****:**** INT 20
回车
-G=200
5. CMOS 数据的保存,恢复
CMOSRAM的地址口的口地址为 70H 数据口的口地址为 71H 读取时只需将读的CMOSRAM的地址送到70H,随后就可以从71 H中得到所需数据。
(1)读取CMOS数据 进入Debug
-A 100
****:*100 MOV BX,1000
****:**** MOV CX,0040
****:**** MOV AX,0000
****:0109 MOV DX,CX
****:**** MOV CX,0005
****:010E LOOP 010E
****:**** OUT 70,AL
****:**** MOV CX,0005
****:0115 LOOP 0115
****:**** IN AL,71
****:**** MOV [BX],AL
****:**** CMP AH,0E
****:**** JB 0123
****:**** ADD AH,80
****:0123 INC AH
****:**** INC BX
****:**** MOV CX,DX
****:**** MOV AL,AH
****:**** LOOP 0109
****:**** MOV AH,3C
****:**** MOV DX,0150
****:**** MOV CX,0020
****:**** INT 21
****:**** MOV BX,AX
****:**** MOV DX,1000
****:**** MOV CX,0040
****:**** MOV AH,40
****:**** INT 21
****:**** MOV AH,4C
****:**** INT 21
-A 150
****:0150 DB "CMOS.DAT",0
****:0159
-R CX
CX 0000
:60
-N SAVE CMOS.COM
-W
-Q
-W 100 2 0 1
-Q
(2)恢复CMOS数据 进入Debug
-A 100
****:*100 MOV CX,0150
****:**** MOV AH,3D
****:**** MOV AL,00
****:**** INT 21
****:**** MOV DX,1000
****:**** MOV BX,AX
****:**** MOV CX,0040
****:**** MOV AH,3F
****:**** INT 21
****:**** MOV AX,0000
****:**** MOV BX,DX
****:**** MOV DX,CX
****:**** MOV CX,0005
****:**** LOOP 011F
****:**** MOV AL,AH
****:**** OUT 70,AL
****:**** MOV CX,0005
****:**** LOOP 0128
****:**** MOV AL,[BX]
****:**** OUT 71,AL
****:**** JB 0136
****:**** ADD AH,80
****:**** INC AH
****:**** INC BX
****:**** MOV CX,DX
****:**** LOOP 011A
****:**** MOV AX,0040
****:**** MOV DS,AX
****:**** MOV AX,1234
****:**** MOV [0072],AX
****:**** JMP FFFF:0000
-A 150
****:0150 DB "CMOS.DAT",0
****:0159
-R CX
CX 0000
:60
-N WRITE CMOS.COM
-W
-Q
6. DOS 引导扇区数据的保存与恢复
DOS引导程序是被读到内存0000:7C00初开始执行的
获得正常的引导程序
进入Debug
-L 100 2 0 1
-N A:DOSBOOT.COM
-R CX
:200
-W
-Q
装入引导程序
进入Debug
-N A:DOSBOOT.COM
-L
-R CX
:200
-W 100 2 0 1
-Q
7. 硬盘主引导扇区数据的保存与恢复
硬盘工作正常时读取主引导扇区信息
注意:当分区改变时不能用此数据恢复
保存主引导扇区数据进入Debug
-A 100
MOV AX,0201
MOV BX,0110
MOV CX,0001
MOV DX,0080
INT 13
INT 3
-G=100
-E 102 3
-E 10E C3
-R BX
BX 0110
:0
-R CX
CX 0001
:210
-N A:RBOOT.COM
-W
-Q
恢复主引导扇区数据:只需运行A盘的RBOOT.COM
8. 硬盘非分配表备份与恢复
计算机运行正常时分配表备份
进入Debug
-L 100 2 0 1
-N A:DBRUP.DAT
-R CX
:200
-W
恢复
进入Debug
-N A:DBRUP.DAT
-L
-W 100 2 0 1
-Q
9. 硬盘保护卡内幕
对于经常在外边上机的人来说,计算机维护人员一旦设置硬盘保护卡,自己作一些事来特别麻烦,想不想屏蔽掉硬盘保护卡,用以下方法或许可以借鉴:
进入Debug
-A 100
MOV AH,0
MOV DL,0
INT 13
-T
一直按T知道找到 CS=F000 记下此时 DS 的值 如:1234
-E E0:4C
34 12 00 F0
-Q
10. 用Debuf作硬盘低级格式化
硬盘低级格式化一般用DM,但Debug也可以低级格式化硬盘
进入Debug
-A 100
MOV AX,500
MOV BX,180
MOV CX,0
MOV DX,80
INT 13
INT 3
-E 180 0 0 0 2
-Q
11. 冷启动与热启动
用Debug实现系统冷启动与热启动程序
冷启动:
-A 100
JMP FFFF:0
INT 20
-N A:RESET.COM
-R CX
:0007
-w
-Q
热启动:
-A 100
MOV AX,0040
MOV DS,AX
MOV AX,1234
MOV SI,0072
MOV (SI),AX
JMP FFFF:0
-N A:RSET.COM
-R CX
:0014
-W
-Q
12. DOS内部命令加密
如加密 dir
用pctools或diskedit找 C:下的COMMAND.COM文件
编辑该文件
PCTOOLS中:F-----F1 然后找所有03 44 49 52 找到后按F5修改成你所要的值 如: foo 以后只有输入foo 才能列出文件或文件目录。
diskfix 有良好的界面,操作起来和pctools差不多。
注意:如果不能修改,则解开文件的锁定 luck
其它命令代码
type 04 54 59 50 45
cd 02 43 44
del 03 44 45 44
copy 04 43 49 50 59
Assert 方法
有条件地在该方法出现的行上挂起执行。
语法
object.Assert booleanexpression
Assert 方法的语法有如下的对象限定符和参数:
部分 描述
object 必需的。总是 Debug 对象。
booleanexpression 必需的。一个值为 True 或者 False 的表达式。
说明
Assert 调用只在开发环境中工作。当模块被编译成为一个可执行的文件时,调用 Debug 对象的方法就会被忽略。
全部 booleanexpression 常常被计算。例如,即使一个 And 表达式的第一部分被计算为 False,整个表达式还要被计算。
====================================================================
Assert 方法示例
下面的示例说明如何使用 Assert 方法。示例需要一个带有两个按纽控件的窗体。缺省的按纽名称是 Command1 和 Command2 。
当示例运行时,单击 Command1 按纽使得按纽上的文本在 0 和 1 之间进行切换。单击 Command2 按纽可能不做任何事,也可能引起一个确认,应该执行哪一个操作取决于 Command1 按纽上所显示的值。该确认将在最后一个语句执行之后使整个执行停止,并且 Debug.Assert 行被突出显式。
Option Explicit
Private blnAssert As Boolean
Private intNumber As Integer
Private Sub Command1_Click()
blnAssert = Not blnAssert
intNumber = IIf(intNumber <> 0, 0, 1)
Command1.Caption = intNumber
End Sub
Private Sub Command2_Click()
Debug.Assert blnAssert
End Sub
Private Sub Form_Load()
Command1.Caption = intNumber
Command2.Caption = "Assert Tester"
End Sub
呵,楼上的是查资料比较厉害,这么一大段,自已打可要一阵子啦!
所有我认为,刚学VB的,一定要学会查询资料和文档,尤其是MSDN!
debug是用来调试程序的。
举一个简单的例子:
在窗体的load事件过程序中输入如下代码:
debug.print 50*34*57
那么程序在运行后结果将在立即窗口中显示出值来,从而也就起到了调试程序的作用。例子中的结果应为:96900
QQ:5367778
Email:4y4ycoco@163.com
http://5apc.yeah.net