調(diào)試程序DEBUG教程_第1頁(yè)
調(diào)試程序DEBUG教程_第2頁(yè)
調(diào)試程序DEBUG教程_第3頁(yè)
調(diào)試程序DEBUG教程_第4頁(yè)
調(diào)試程序DEBUG教程_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

調(diào)試程序DEBUG介紹封面1調(diào)試程序DEBUG的使用

調(diào)試程序DEBUG

的使用

DEBUG.EXE是DOS提供的用于調(diào)試可執(zhí)行程序的工具軟件,是匯編語(yǔ)言程序設(shè)計(jì)中常用的調(diào)試工具。在DEBUG環(huán)境下,不但可以調(diào)試經(jīng)匯編、連接后生成的可執(zhí)行程序,也可以編寫(xiě)簡(jiǎn)單的程序。

2啟動(dòng)DEBUG程序§1.啟動(dòng)DEBUG程序

①在DOS提示符下鍵入:DEBUG↙(表示回車(chē)) Debug執(zhí)行,屏幕顯示提示符“-”,說(shuō)明計(jì)算機(jī)當(dāng)前處于DEBUG的管理之下,可接受、并執(zhí)行DEBUG命令。②在DOS提示符下鍵入:DEBUG[路徑\]文件名↙

DEBUG執(zhí)行,并將指定文件裝入內(nèi)存,供調(diào)試。如不指定被調(diào)試程序,DEBUG設(shè)置所有段寄存器的值相同,并指向最低的、可用的段地址;SP指向本段的尾部;IP指向本段的0100H單元;其它通用寄存器和所有狀態(tài)標(biāo)志清0。3啟動(dòng)DEBUG2如帶入的被調(diào)試程序擴(kuò)展名不是.EXE,則BX、CX包含被調(diào)試文件長(zhǎng)度(字節(jié)數(shù),BX為高位),其他同上。(帶入.COM程序同此)

如帶入的被調(diào)試程序擴(kuò)展名是.EXE,則需要重新定位。DS=ES指向當(dāng)前最低的、可用的段地址(PSP的首字節(jié));CS:IP和SS:SP根據(jù)被調(diào)試程序確定,分別指向代碼段和堆棧段;BX.CX為文件長(zhǎng)度,其它通用寄存器和狀態(tài)標(biāo)志清0。

演示:DEBUG的兩種啟動(dòng)方法4命令格式

§2DEBUG命令和參數(shù)的格式

1.命令格式

命令字母[參數(shù)]

字母不分大小寫(xiě);只使用16進(jìn)制數(shù),不加H;分割符只在兩個(gè)數(shù)值之間是必須的,命令和參數(shù)之間可有可無(wú);鍵入回車(chē)鍵執(zhí)行命令,Ctrl+Break或Ctrl+C中止命令的執(zhí)行;如命令不符合DEBUG的規(guī)則,則提示“error”并使用“^”指示錯(cuò)誤位置。5參數(shù)格式12.參數(shù)格式 ①表示地址(邏輯地址):段地址:偏移地址D0400:2500D10ac:0 Dds:04Dcs:100偏移地址D2505D100;DEBUG認(rèn)為輸入的是偏移地址,段地址采用默認(rèn)的段寄存器,不同的命令默認(rèn)不同的段寄存器,例如匯編命令默認(rèn)CS,顯示數(shù)據(jù)命令默認(rèn)DS。既不送段地址,也不送偏移地址,段地址采用默認(rèn)的段寄存器,偏移地址采用當(dāng)前值。只送段地址,省略偏移地址,非法。

如DDS:或D0400:6參數(shù)格式2

②表示范圍開(kāi)始地址結(jié)束地址如“DDS:050”,“D2AC0:100200”,“D100120”注意:結(jié)束地址不能帶段地址開(kāi)始地址L字節(jié)長(zhǎng)度如“DDS:0L10”,“D100L20”7命令索引命令索引D命令E命令F命令R命令A(yù)命令U命令G命令T命令P命令Q命令N命令L命令W命令C命令H命令S命令I(lǐng)命令O命令M命令8R命令

1.顯示修改寄存器命令R ①R;★顯示所有寄存器和標(biāo)志位狀態(tài); ★顯示當(dāng)前CS:IP指向的指令。 顯示標(biāo)志時(shí)使用的符號(hào): 標(biāo)志標(biāo)志=1標(biāo)志=0 OF OV NV DF DN UP IF EI DI SF NG PL ZF ZR NZ AF AC NA PF PE PO CF CY NC9A命令

②R寄存器名;顯示并修改指定的寄存器。

RAX;RIP;RF等

2.匯編命令A(yù) A[地址];從指定的地址開(kāi)始輸入符號(hào)指令;如省略地址,則接著上一個(gè)A命令的最后一個(gè)單元開(kāi)始;若第一次使用A命令省略地址,則從當(dāng)前CS:IP開(kāi)始(通常是CS:100)。

注釋:①在DEBUG下編寫(xiě)簡(jiǎn)單程序即使用A命令。 ②每條指令后要按回車(chē)。 ③不輸入指令按回車(chē),或按Ctrl+C結(jié)束匯編。 ④支持所有8086符號(hào)硬指令,偽指令只支持DB、DW,不支持各類(lèi)符號(hào)名。10U命令

3.反匯編命令U ①U[地址];從指定地址開(kāi)始反匯編32個(gè)字節(jié)的機(jī)器指令;省略地址時(shí),則接著上一個(gè)U命令的最后一個(gè)單元開(kāi)始;若第一次使用U命令省略地址,則從當(dāng)前CS:IP開(kāi)始(通常是CS:100)。

②U范圍;對(duì)指定范圍的單元進(jìn)行反匯編。-U

-U100

-U100L10 11E命令

4.修改命令E ①E地址;從指定地址開(kāi)始,修改(或連續(xù)修改)存儲(chǔ)單元內(nèi)容。DEBUG首先顯示指定單元內(nèi)容,如要修改,可輸入新數(shù)據(jù);空格鍵顯示下一個(gè)單元內(nèi)容并可修改,減號(hào)鍵顯示上一個(gè)單元內(nèi)容并可修改;如不修改,可直接按空格鍵或減號(hào)鍵;回車(chē)鍵結(jié)束命令。 ②E地址數(shù)據(jù)表;從指定的地址開(kāi)始用數(shù)據(jù)表給定的數(shù)據(jù)修改存儲(chǔ)單元。-EDS:100F3‘AB’8D。12D命令5.顯示命令D①D[地址]②D[范圍]

;如不指定范圍,一次顯示8行×16個(gè)字節(jié)。-D;默認(rèn)段寄存器為DS,當(dāng)前偏移地址-DDS:100/-DCS:200

-D200:100

-D200;200為偏移地址,默認(rèn)段寄存器DS

-DDS:100110/-D100L1013T命令6.跟蹤命令(單步執(zhí)行命令)T ①T;從當(dāng)前IP開(kāi)始執(zhí)行一條指令。 ②T數(shù)值;從當(dāng)前

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論