豪華絢麗的Windows讓人們把DOS拋到遙遠(yuǎn)的記憶角落。然而,真正有價值的東西不會輕易退出歷史的舞臺,Debug就是這樣的經(jīng)典作品之一。從古老的DOS到現(xiàn)今的Windows XP,Debug一直緊緊跟隨著微軟的操作系統(tǒng),靜靜躺在系統(tǒng)文件夾里。也許你平時對它不聞不問,但要想成為人人羨慕的系統(tǒng)高手,我們就得喚醒這個沉睡已久的命令行工具了,通過閱讀本文對它的研究,相信你會同筆者一樣的感覺到:姜,還是老的辣!
一、尋根溯源:世界第一只計算機BUG和Debug
霍德華·艾肯在哈佛大學(xué)攻讀物理學(xué)博士學(xué)位時,開始夢想制作一臺計算機幫他解決數(shù)學(xué)難題,工作后,他找到IBM公司為其投資100萬美元研制計算機,第一臺成品艾肯把它取名為:馬克Ⅰ號,又叫“自動序列受控計算機”,從這時起IBM公司由生產(chǎn)制表機、肉鋪磅秤、咖啡碾磨機等亂七八糟玩意的行業(yè),正式跨進了計算機“領(lǐng)地”。
1945年9月9日,為馬克II號編制計算程序的女?dāng)?shù)學(xué)家格雷斯·霍波在調(diào)試程序時出現(xiàn)了故障,拆開繼電器后,發(fā)現(xiàn)有只飛蛾被夾扁在觸點中間,從而“卡”住了機器的運行。于是霍波把這只飛蛾粘在了計算機的工作日志中,并恢諧地把程序故障統(tǒng)稱為“臭蟲”(bug),自此以后,只要這臺計算機一停止運轉(zhuǎn)(那時候是經(jīng)常的事),同事們就會開玩笑地對霍德華·艾肯說,我們正在“Debug”(除蟲)呢!后來“bug”成為計算機領(lǐng)域的專業(yè)行話,如DOS系統(tǒng)中的調(diào)試程序,程序名稱就叫Debug。
目前那只飛蛾還保存在美國史密森尼博物院的美國歷史國家博物館中呢。
1981年,第一個PC DOS(即DOS 1.00)面世時就已經(jīng)帶上了Debug.com。不過,到目前為止,Debug一直沒有大的變動——當(dāng)然,這是指Debug提供給用戶的功能,Debug本身代碼、內(nèi)部運行機制必然隨著操作系統(tǒng)的變化而不斷改變。然而,無論是Windows 98、2000還是XP,Debug的操作方式與純DOS環(huán)境下基本一樣。
二、初學(xué)乍練:短短幾行命令學(xué)用Debug
Debug.exe文件位于Windows\system32目錄(Windows XP)或Windows\command目錄(Windows 9x)下?;臼褂梅椒ㄈ缦拢?/p>
Step 1:點擊“開始→運行”,輸入“CMD”(Windows 2000/XP)或“Command”(Windows 9x)打開命令提示符窗口。
Step 2:輸入“Debug”并回車,出現(xiàn)提示符“-”,現(xiàn)在你已經(jīng)開啟了神秘的Debug世界了。
小提示
執(zhí)行“?”命令可以參看Debug主要命令及參數(shù)。
Step 3:輸入“D FE00:0”,回車后可以看到結(jié)果(見圖1),這個就是主板BIOS的廠商信息。接著再輸入“D FFFF:5 L 8”,回車后,主板的BIOS版本日期也出來了。
Step 4:現(xiàn)在再輸入“Q”命令,回車后就退出了Debug程序。
三、繼續(xù)深入:Debug經(jīng)典實例秀
在操作以下實例之前,提醒您要注意操作安全,因為Debug命令有一定風(fēng)險,如果輸入錯誤,有可能對系統(tǒng)造成一定破壞,這點請您一定注意。
實例1:查看你的顯卡信息
輸入“D C000:0090”命令并回車,這時右側(cè)部分可以看到系統(tǒng)中顯卡的顯存、生產(chǎn)廠商等信息。
實例2:制作BIOS密碼破解器
忘記BIOS密碼,一般都采用放電法來清空密碼,但這對普通用戶有一定難度,并且還得開機箱。其實利用Debug的o命令則簡單得多!請在“-”后輸入以下命令:
o 70 19
o 71 15
q
重啟電腦,系統(tǒng)提示CMOS校驗和出錯,并要求重新進入BIOS設(shè)置CMOS。
小提示:70和71是CMOS的兩個端口,我們可以在它們的后面隨意寫入一些錯誤數(shù)據(jù)(如19、16、17等),就會清空CMOS里所有設(shè)置,如果不見效不妨多用幾個數(shù)據(jù)試試。
如果覺得每次輸入Debug命令太麻煩,可以用下面的方法把命令存成一個COM文件,需要解除密碼時只要運行一下就行了。請在Debug中命令提示符“-”后輸入以下命令:
A 100
MOV DX,70
MOV AL,10
OUT DX,AL
MOV DX,71
MOV AL,01
OUT DX,AL(這里要兩次回車,接著會出現(xiàn)“-”提示符,然后再輸入下面的命令)
R CX(回車后會出現(xiàn)“CX 0000”,然后再次按回車)
0C
N pass.COM
W
Q
這樣就會在Debug當(dāng)前目錄下生成pass.com,是一個清除BIOS口令設(shè)置的程序,只要在DOS提示符下鍵入“pass”,然后按回車即可。經(jīng)我們測試,其實在Windows下面運行也可以成功。知識不太穩(wěn)定,有時會重新啟動計算機。
Debug應(yīng)用實例秀(2)-2006年10月05日 星期四 14:54出處:阿峰基地
實例3:檢測LCD顯示器的壞點
購買LCD顯示器最忌有亮點或暗點,我們可以借助相關(guān)的檢測軟件來輔助查看,但在配電腦時,老板常常不讓我們裝軟件,其實利用Debug中的F命令就可以看得清清楚楚!
為了檢測LCD屏幕是否存在壞點,可以將整個屏幕填充為紅、綠、藍(lán)、白等純色,以便檢查。下面給出幾個常用的顯示屏檢測F命令(Debug窗口一般較小,按Alt+Enter將它放大到整個屏幕):
F B800:00 F9F 20 70 全屏白色
F B800:00 F9F 20 40 全屏紅色
F B800:00 F9F 20 20 全屏綠色
F B800:00 F9F 20 10 全屏藍(lán)色
F B800:00 F9F C5 07 C4 07 全屏白色十字網(wǎng)格
F B800:00 F9F C5 04 C4 04 全屏紅色十字網(wǎng)格
F B800:00 F9F C5 02 C4 02 全屏綠色十字網(wǎng)格
F B800:00 F9F C5 01 C4 01 全屏藍(lán)色十字網(wǎng)格
實例4:用Debug恢復(fù)Windows 98啟動
在同時裝有Windows 98和Windows 2000的電腦上,有時在Windows 98下整理C盤的磁盤碎片后(假設(shè)Windows 98裝在C盤),下次很有可能啟動不了Windows 98。這時必須重新生成BOOTSECT.DOS(此文件是用來引導(dǎo)Windows 98的),Windows 98才可以重新引導(dǎo)。可以用Debug生成BOOTSECT.DOS文件,先用軟盤啟動到DOS狀態(tài):
C:>Debug
L 100 2 0 1
N BOOTSECT (BOOTSECT表示W(wǎng)indows 98引導(dǎo)記錄的文件名)
RCX
CX 0000
200
W
Q
現(xiàn)在將C:\BOOTSECT改名為BOOTSECT.DOS,覆蓋原來的BOOTSECT.DOS即可。
做個死循環(huán)炸彈玩玩
所謂死循環(huán),實際上是編程上一種失誤,造成的程序反復(fù)執(zhí)行同樣指令,造成軟件死鎖。利用Debug,我們可以做一個小小的死循環(huán)。在Debug的命令提示符“-”后輸入以下命令:
a100
mov dl,1
mov ah,2
int 21
inc dl
jmp 102(按兩次回車)
nboot.com
rbx(接著按兩次回車,可能會出現(xiàn)出錯信息,不要管它,再輸入一遍即可)
rcx
a
-w
好了,現(xiàn)在可以在DOS下面執(zhí)行生成的boot.com試試效果吧,同時按ctrl+break或ctrl+c可以強制停止。如果是在windows下,強制退出即可,不過PC喇叭的聲音可能得過段時間才能停下來。
三、硬盤救命稻草:用Debug玩轉(zhuǎn)磁盤
特別提醒:由于以下操作非常危險,所以建議你三思而行,并且最好在電腦中只掛接要操作的硬盤,以免誤操作了其他硬盤。
實例1:清除硬盤驅(qū)動器的所有信息
本來清除硬盤信息用Fdisk便可以輕松搞定,可如果當(dāng)你碰上用FDISK命令無法刪除分區(qū)信息的情況,甚至是一運行FDISK就死機,那么就不得不求助于Debug了。通過下面的命令,可以清除硬盤上所有分區(qū)信息。
小提示:危險操作!請慎重執(zhí)行!
C:\>Debug
F 200 L1000 0
A CS:100
xxxx:0100 MOV AX,301
xxxx:0103 MOV BX,200
xxxx:0106 MOV CX,1
xxxx:0109 MOV DX,80 (注意:80代表主盤,81代表從盤)
xxxx:010C INT 13
xxxx:010E INT 20
xxxx:0110
g
Program terminated normally
q
以上程序執(zhí)行完畢后,重啟電腦,此時硬盤的分區(qū)信息都已經(jīng)被清除,我們便可以使用Fdisk為硬盤進行重新分區(qū),然后格式化即可正常使用了。
小提示:刪除所有分區(qū)
如果想快速刪除所有分區(qū),那么可將以下命令保存到一個文本文件中(比如:Delpart.txt ):
a 100 int13rax
0301
rbx
0200
f 200 l 200 0
rcx
0001
rdx
0080
p
q
然后在純DOS(比如用啟動軟盤啟動系統(tǒng))中執(zhí)行“Debug
實例2:拯救軟盤數(shù)據(jù)
一分鐘前還打得開的軟盤,一分鐘后就說“該軟盤沒有格式化,要格式化么?”但這里面卻偏偏保存著重要數(shù)據(jù),其實出現(xiàn)這種情況往往是軟盤的0面0道1扇區(qū)邏輯損壞的原因,這時可以試試以下方法:
Step 1:將一張好的軟盤插入軟驅(qū)。
Step 2:執(zhí)行Debug,并在提示符“-”后輸入以下命令:
-L 100 0 0 1
Step 3:將好的軟盤取出,插入需要恢復(fù)的軟盤,再輸入以下命令:
-W 100 0 0 1
不過,如果0面0道1扇是物理損壞,DEBUG會告訴我們不能寫盤,這時,你只能再嘗試HD-COPY等工具軟件了。
實例3:清除硬盤的主引導(dǎo)記錄
如果你遇到了FDISK不能識別硬盤,或在電腦啟動時出現(xiàn)沒有硬盤的錯誤提示,比如:“Fixed disk 0 Failure”,那么可以試試下面的方法,但是要注意的是,這樣會刪除所有硬盤分區(qū)(包括非DOS分區(qū)),當(dāng)然數(shù)據(jù)也會全部丟失。
Step 1:制作一張啟動軟盤,其中包括:DEBUG、FDISK、FORMAT等程序。用它啟動電腦,輸入“Debug”并回車。
Step 2:在Debug的命令提示符“-”后輸入以下命令:
FCS:200 400 0
RAX
0301
RBX
0600
RCX
0001
RDX
0080
E 100 CD 13
P
Q
Step 3:完成后分別運行FDISK和Format進行分區(qū)和格式化即可。
實例4:低格硬盤
方法一:完全低格
-a 100
mov ax,0703
mov cx,0001
mov dx,0080
int 13
int 3
010D
G 100
小提示:有些主板的BIOS中已經(jīng)存放著低格程序,因此可以直接用Debug來調(diào)用,命令為“g c800:0005”。
方法二:快速低格
-a 100
mov ax,0500
mov bx,0180
mov cx,0001
mov dx,0080
int 13
int 3
E 0180 0 0 0002
G 100
你知道嗎?
Windows 2000/XP的Debug模式
打開啟動分區(qū)的“boot.ini”文件,接著在“multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect”語句后面加一個空格,然后再輸入“/DEBUG”,在啟動Windows 2000/XP時調(diào)入系統(tǒng)中的除錯程序,它可以在任何時間激活,這個參數(shù)可以用來解決有規(guī)律發(fā)生的錯誤。
如果換為“/CRASHDEBUG”,那么在系統(tǒng)核心沒有發(fā)生錯誤之前不會生效,如果遇到隨機的內(nèi)核錯誤,它就會幫你除錯了。
聯(lián)系客服