語言2_4調(diào)試程序DEBUG_第1頁
語言2_4調(diào)試程序DEBUG_第2頁
語言2_4調(diào)試程序DEBUG_第3頁
語言2_4調(diào)試程序DEBUG_第4頁
語言2_4調(diào)試程序DEBUG_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、調(diào)調(diào) 試試 程程 序序 D E B U G封面調(diào)調(diào) 試試 程程 序序 D E B U G調(diào)試程序調(diào)試程序DEBUGDEBUG的使用的使用調(diào)調(diào) 試試 程程 序序 D E B U GD E B U G 的的 使使 用用DEBUG.EXEDEBUG.EXE是是DOSDOS提供的用于提供的用于調(diào)試可執(zhí)行調(diào)試可執(zhí)行程序程序的工具軟件,是匯編語言程序設(shè)計中常的工具軟件,是匯編語言程序設(shè)計中常用的調(diào)試工具。在用的調(diào)試工具。在DEBUGDEBUG環(huán)境下,不但可以調(diào)環(huán)境下,不但可以調(diào)試經(jīng)匯編、連接后生成的試經(jīng)匯編、連接后生成的可執(zhí)行程序可執(zhí)行程序,也可,也可以以編寫簡單的程序編寫簡單的程序。調(diào)調(diào) 試試 程程 序

2、序 D E B U G啟動啟動DEBUGDEBUG程序程序一一. .啟動啟動DEBUGDEBUG程序程序在在windowswindows下雙擊下雙擊DebugDebug在在DOSDOS提示符下鍵入:提示符下鍵入:DEBUG DEBUG 可執(zhí)行文件名可執(zhí)行文件名 若選上可執(zhí)行文件名,則在啟動若選上可執(zhí)行文件名,則在啟動DEBUGDEBUG的同時,的同時,并將指定文件裝入內(nèi)存,供調(diào)試。并將指定文件裝入內(nèi)存,供調(diào)試。演示:演示:DEBUGDEBUG的兩種啟動方法的兩種啟動方法調(diào)調(diào) 試試 程程 序序 D E B U G命令格式二、二、DEBUGDEBUG命令和參數(shù)的格式命令和參數(shù)的格式1.1.命令格式

3、命令格式 命令字母命令字母 參數(shù)參數(shù)字母不分大小寫字母不分大小寫v參數(shù)默認(rèn)只使用參數(shù)默認(rèn)只使用1616進制數(shù),不需加進制數(shù),不需加H H;v分割符(用空格)只在兩個分割符(用空格)只在兩個數(shù)值之間是必須數(shù)值之間是必須的,命令和參數(shù)之間可有可無;的,命令和參數(shù)之間可有可無;v鍵入回車鍵執(zhí)行命令,鍵入回車鍵執(zhí)行命令,Ctrl+BreakCtrl+Break或或Ctrl+CCtrl+C中止命令的執(zhí)行;中止命令的執(zhí)行;v如命令不符合如命令不符合DEBUGDEBUG的規(guī)則,則提示的規(guī)則,則提示“errorerror” 錯誤。錯誤。調(diào)調(diào) 試試 程程 序序 D E B U G參數(shù)格式12.2.參數(shù)格式參數(shù)格

4、式表示地址表示地址( (邏輯地址邏輯地址) ):段地址段地址:偏移地址偏移地址 D0400:2500 0400:2500 Dds:04 ds:04 Dcs:100cs:100偏移地址偏移地址 D2505 2505 D100 100 ;DEBUGDEBUG認(rèn)為輸入的是偏移地址,段認(rèn)為輸入的是偏移地址,段地址采用默認(rèn)的段寄存器,不同的命令默認(rèn)不同的段寄存器,地址采用默認(rèn)的段寄存器,不同的命令默認(rèn)不同的段寄存器,例如匯編命令默認(rèn)例如匯編命令默認(rèn)CSCS,顯示數(shù)據(jù)命令默認(rèn),顯示數(shù)據(jù)命令默認(rèn)DSDS。既不送段地址,也不送偏移地址,段地址采用默認(rèn)的段寄存既不送段地址,也不送偏移地址,段地址采用默認(rèn)的段寄存

5、器,偏移地址采用器,偏移地址采用當(dāng)前值當(dāng)前值。只送段地址,省略偏移地址,非法。只送段地址,省略偏移地址,非法。如如DDSDS: 或或 D04000400:表示地址范圍(用來表示一片內(nèi)存區(qū))表示地址范圍(用來表示一片內(nèi)存區(qū)) 開始地址開始地址 結(jié)束地址結(jié)束地址如如“D DS:0 50D DS:0 50”, ,“D 2AC0:100 200D 2AC0:100 200”, ,“D 100 120D 100 120”注意:結(jié)束地址不能帶段地址,指定的地址范圍不跨段注意:結(jié)束地址不能帶段地址,指定的地址范圍不跨段 開始地址開始地址 L L 字節(jié)長度字節(jié)長度如如 “D DS:0 L 10D DS:0 L

6、 10”, , “D 100 L 20D 100 L 20”注意:注意:“L L”不可省,不可省,“字節(jié)長度字節(jié)長度”表示字節(jié)數(shù)。表示字節(jié)數(shù)。調(diào)調(diào) 試試 程程 序序 D E B U G命令索引命命 令令 索索 引引D D命令命令 E E命令命令 R R命令命令 A A命令命令 G G命令命令 T T命令命令U U命令命令 N N命令命令 L L命令命令 W W命令命令 P P命令命令 Q Q命令命令 調(diào)調(diào) 試試 程程 序序 D E B U GD命令三三.DEBUG.DEBUG命令命令1.1.顯示顯示內(nèi)存單元內(nèi)容內(nèi)存單元內(nèi)容命令命令D D D D 地址地址 D D 范圍范圍 ;如不指定范圍,一次

7、顯示;如不指定范圍,一次顯示8 8行行1616個字節(jié)。個字節(jié)。 D 200:100 200:100 D 200200;200200為偏移地址,默認(rèn)段寄存器為偏移地址,默認(rèn)段寄存器DSDS D DS:100 110DS:100 110或或D 100L 1010調(diào)調(diào) 試試 程程 序序 D E B U GD命令解釋:執(zhí)行解釋:執(zhí)行D D命令后的屏幕顯示內(nèi)容命令后的屏幕顯示內(nèi)容P90P90調(diào)調(diào) 試試 程程 序序 D E B U GE命令2. 2. 修改內(nèi)存單元內(nèi)容命令修改內(nèi)存單元內(nèi)容命令E E功能:從指定地址開始,修改(或連續(xù)修改)內(nèi)存單元內(nèi)容。功能:從指定地址開始,修改(或連續(xù)修改)內(nèi)存單元內(nèi)容。

8、E E 地址地址 ;DEBUGDEBUG首先顯示指定單元內(nèi)容,如要修改,首先顯示指定單元內(nèi)容,如要修改,可輸入新數(shù)據(jù);可輸入新數(shù)據(jù);空格鍵空格鍵顯示下一個單元內(nèi)容并可修改,顯示下一個單元內(nèi)容并可修改,減號減號鍵鍵顯示上一個單元內(nèi)容并可修改;顯示上一個單元內(nèi)容并可修改;回車鍵回車鍵結(jié)束命令。結(jié)束命令。 E E 地址地址 數(shù)據(jù)表;從指定的地址開始用字節(jié)表給定的數(shù)數(shù)據(jù)表;從指定的地址開始用字節(jié)表給定的數(shù)據(jù)修改內(nèi)存單元。據(jù)修改內(nèi)存單元。 E DS:100 F3 DS:100 F3 ABAB 8D 8D解釋:字節(jié)表中的內(nèi)容解釋:字節(jié)表中的內(nèi)容調(diào)調(diào) 試試 程程 序序 D E B U GR命令4.4.顯示修

9、改寄存器命令顯示修改寄存器命令R R R R;顯示所有寄存器和個標(biāo)志位狀態(tài)并;顯示所有寄存器和個標(biāo)志位狀態(tài)并 反匯編反匯編當(dāng)前當(dāng)前CSCS:IPIP指向的指令。指向的指令。顯示標(biāo)志時使用的符號:顯示標(biāo)志時使用的符號:標(biāo)志標(biāo)志 標(biāo)志標(biāo)志=1 =1 標(biāo)志標(biāo)志=0=0 OF OFOVOVNVNV DF DFDNDNUPUP IF IFEIEIDIDI SF SFNGNGPLPL ZF ZFZRZRNZNZ AF AFACACNANA PF PFPEPEPOPO CF CFCYCYNCNC R R 寄存器名;顯示并修改指定的寄存器。寄存器名;顯示并修改指定的寄存器。 RAX RAX ;RIPRIP;R

10、FRF等等調(diào)調(diào) 試試 程程 序序 D E B U GA命令5.5.匯編命令匯編命令A(yù) A格式:格式:A A 地址地址 功能:從指定的地址開始輸入?yún)R編指令;如省略地址,則接著上功能:從指定的地址開始輸入?yún)R編指令;如省略地址,則接著上一個一個A A命令的最后一個單元開始;若第一次使用命令的最后一個單元開始;若第一次使用A A命令省略地址,命令省略地址,則從當(dāng)前則從當(dāng)前CS:IPCS:IP開始(通常是開始(通常是CSCS:100100)。)。注釋注釋: :在在DEBUGDEBUG下編寫下編寫簡單程序簡單程序就使用就使用A A命令。命令。每條指令后要按回車。每條指令后要按回車。不輸入指令按回車,或按不

11、輸入指令按回車,或按Ctrl+CCtrl+C結(jié)束匯編結(jié)束匯編。 段超越前綴要放在相關(guān)指令的前面,或者單獨一行輸入段超越前綴要放在相關(guān)指令的前面,或者單獨一行輸入調(diào)調(diào) 試試 程程 序序 D E B U GG命令6.6.運行程序命令運行程序命令G G格式:格式:G=G=地址地址 斷點斷點1 1,斷點,斷點2 2,斷點斷點1010功能:從指定地址開始執(zhí)行程序,直到程序結(jié)束或遇到指定功能:從指定地址開始執(zhí)行程序,直到程序結(jié)束或遇到指定的任一斷點。的任一斷點。說明:說明: 1 1)第一個地址是自己程序的開始,斷點可設(shè)多個,)第一個地址是自己程序的開始,斷點可設(shè)多個,最多可設(shè)置最多可設(shè)置1010個,要會設(shè)

12、置斷點。個,要會設(shè)置斷點。2 2)斷點必須設(shè)置在一條指令的首字節(jié)。)斷點必須設(shè)置在一條指令的首字節(jié)。3 3)如設(shè)置了多個斷點,程序在第一個斷點停下)如設(shè)置了多個斷點,程序在第一個斷點停下后,顯示寄存器、標(biāo)志及下一條要執(zhí)行的指令,再次后,顯示寄存器、標(biāo)志及下一條要執(zhí)行的指令,再次輸入輸入G G命令,程序繼續(xù)往下執(zhí)行,直到下一個斷點或命令,程序繼續(xù)往下執(zhí)行,直到下一個斷點或程序結(jié)束。程序結(jié)束。4 4)程序如有錯誤,執(zhí)行時可能造成死機。)程序如有錯誤,執(zhí)行時可能造成死機。調(diào)調(diào) 試試 程程 序序 D E B U G7.7.跟蹤命令(單步執(zhí)行命令)跟蹤命令(單步執(zhí)行命令)T T格式:格式:T =T =;

13、功能:從自己的程序開始處一條一條的跟蹤執(zhí)行。功能:從自己的程序開始處一條一條的跟蹤執(zhí)行。每執(zhí)行一條每執(zhí)行一條T T指令,都要顯示所有寄存器和標(biāo)志位的指令,都要顯示所有寄存器和標(biāo)志位的值以及下一條指令值以及下一條指令 說明說明:可選的地址一般為自己程序的開始地址??蛇x的地址一般為自己程序的開始地址。()執(zhí)行()執(zhí)行T T命令時,若遇到命令時,若遇到CALLCALL或或INTINT命令,則會命令,則會跟蹤進入相應(yīng)過程或中斷服務(wù)程序的內(nèi)部。對于帶跟蹤進入相應(yīng)過程或中斷服務(wù)程序的內(nèi)部。對于帶重復(fù)前綴重復(fù)前綴REPREP指令,每重復(fù)執(zhí)行一次算一步。指令,每重復(fù)執(zhí)行一次算一步。調(diào)調(diào) 試試 程程 序序 D

14、E B U GU命令6.6.反匯編命令反匯編命令U U U U 地址地址 ;從指定地址開始反匯編;從指定地址開始反匯編3232個字節(jié)的機器個字節(jié)的機器指令;省略地址時指令;省略地址時, ,則接著上一個則接著上一個U U命令的最后一個單元開始;命令的最后一個單元開始;若第一次使用若第一次使用U U命令省略地址,則從當(dāng)前命令省略地址,則從當(dāng)前CS:IPCS:IP開始(通常是開始(通常是CSCS:100100)。)。 U U 地址范圍;對指定范圍的單元進行反匯編。地址范圍;對指定范圍的單元進行反匯編。 U U U 100U 100 U 100 L 10U 100 L 10解釋:執(zhí)行解釋:執(zhí)行U U命

15、令后屏幕顯示的內(nèi)容。命令后屏幕顯示的內(nèi)容。調(diào)調(diào) 試試 程程 序序 D E B U GG命令2舉例說明為舉例說明為自己的程序設(shè)置起始點和斷點。自己的程序設(shè)置起始點和斷點。G=0000 000d(000f) G=0000 000d(000f) ;從指定地址;從指定地址100100開始執(zhí)行程序。開始執(zhí)行程序。調(diào)調(diào) 試試 程程 序序 D E B U GN N命令命令7.7.命名命令命名命令N N格式:格式:N N 文件名;文件名;功能:指定文件,以便用功能:指定文件,以便用W W命令在磁盤上生成該文件,或者用命令在磁盤上生成該文件,或者用L L命令將文件從磁盤裝入到內(nèi)存。如:命令將文件從磁盤裝入到內(nèi)存。如:N h1.exe L8.8.裝入命令裝入命令L L L L 地址地址 ;裝入;裝入N N命令指定的文件,默認(rèn)的內(nèi)存地址為命令指定的文件,默認(rèn)的內(nèi)存地址為CSCS:100100。 N h1.exe L L 調(diào)調(diào) 試試 程程 序序 D E B U GW命令9.9.寫盤命令寫盤命令W W W W 地址地址 ;將指定地址開始的內(nèi)存數(shù)據(jù)寫入磁盤,生;將指定地址開始的內(nèi)存數(shù)據(jù)寫入磁盤,生成成N N命令指定的文件;默認(rèn)的內(nèi)存地址為命令指定的文件;默認(rèn)的內(nèi)存地址為CS:100CS:100;寫盤的字節(jié)數(shù);寫盤的字節(jié)數(shù)由由BX

溫馨提示

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

評論

0/150

提交評論