




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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í)行程序程序的工具軟件,是匯編語(yǔ)言程序設(shè)計(jì)中常的工具軟件,是匯編語(yǔ)言程序設(shè)計(jì)中常用的調(diào)試工具。在用的調(diào)試工具。在DEBUGDEBUG環(huán)境下,不但可以調(diào)環(huán)境下,不但可以調(diào)試經(jīng)匯編、連接后生成的試經(jīng)匯編、連接后生成的可執(zhí)行程序可執(zhí)行程序,也可,也可以以編寫(xiě)簡(jiǎn)單的程序編寫(xiě)簡(jiǎn)單的程序。調(diào)調(diào) 試試 程程 序
2、序 D E B U G啟動(dòng)啟動(dòng)DEBUGDEBUG程序程序一一. .啟動(dòng)啟動(dòng)DEBUGDEBUG程序程序在在windowswindows下雙擊下雙擊DebugDebug在在DOSDOS提示符下鍵入:提示符下鍵入:DEBUG DEBUG 可執(zhí)行文件名可執(zhí)行文件名 若選上可執(zhí)行文件名,則在啟動(dòng)若選上可執(zhí)行文件名,則在啟動(dòng)DEBUGDEBUG的同時(shí),的同時(shí),并將指定文件裝入內(nèi)存,供調(diào)試。并將指定文件裝入內(nèi)存,供調(diào)試。演示:演示:DEBUGDEBUG的兩種啟動(dòng)方法的兩種啟動(dòng)方法調(diào)調(diào) 試試 程程 序序 D E B U G命令格式二、二、DEBUGDEBUG命令和參數(shù)的格式命令和參數(shù)的格式1.1.命令格式
3、命令格式 命令字母命令字母 參數(shù)參數(shù)字母不分大小寫(xiě)字母不分大小寫(xiě)v參數(shù)默認(rèn)只使用參數(shù)默認(rèn)只使用1616進(jìn)制數(shù),不需加進(jìn)制數(shù),不需加H H;v分割符(用空格)只在兩個(gè)分割符(用空格)只在兩個(gè)數(shù)值之間是必須數(shù)值之間是必須的,命令和參數(shù)之間可有可無(wú);的,命令和參數(shù)之間可有可無(wú);v鍵入回車(chē)鍵執(zhí)行命令,鍵入回車(chē)鍵執(zhí)行命令,Ctrl+BreakCtrl+Break或或Ctrl+CCtrl+C中止命令的執(zhí)行;中止命令的執(zhí)行;v如命令不符合如命令不符合DEBUGDEBUG的規(guī)則,則提示的規(guī)則,則提示“errorerror” 錯(cuò)誤。錯(cuò)誤。調(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:表示地址范圍(用來(lái)表示一片內(nèi)存區(qū))表示地址范圍(用來(lái)表示一片內(nèi)存區(qū)) 開(kāi)始地址開(kāi)始地址 結(jié)束地址結(jié)束地址如如“D DS:0 50D DS:0 50”, ,“D 2AC0:100 200D 2AC0:100 200”, ,“D 100 120D 100 120”注意:結(jié)束地址不能帶段地址,指定的地址范圍不跨段注意:結(jié)束地址不能帶段地址,指定的地址范圍不跨段 開(kāi)始地址開(kāi)始地址 L L 字節(jié)長(zhǎng)度字節(jié)長(zhǎng)度如如 “D DS:0 L 10D DS:0 L
6、 10”, , “D 100 L 20D 100 L 20”注意:注意:“L L”不可省,不可省,“字節(jié)長(zhǎng)度字節(jié)長(zhǎng)度”表示字節(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個(gè)字節(jié)。個(gè)字節(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命令解釋?zhuān)簣?zhí)行解釋?zhuān)簣?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功能:從指定地址開(kāi)始,修改(或連續(xù)修改)內(nèi)存單元內(nèi)容。功能:從指定地址開(kāi)始,修改(或連續(xù)修改)內(nèi)存單元內(nèi)容。
8、E E 地址地址 ;DEBUGDEBUG首先顯示指定單元內(nèi)容,如要修改,首先顯示指定單元內(nèi)容,如要修改,可輸入新數(shù)據(jù);可輸入新數(shù)據(jù);空格鍵空格鍵顯示下一個(gè)單元內(nèi)容并可修改,顯示下一個(gè)單元內(nèi)容并可修改,減號(hào)減號(hào)鍵鍵顯示上一個(gè)單元內(nèi)容并可修改;顯示上一個(gè)單元內(nèi)容并可修改;回車(chē)鍵回車(chē)鍵結(jié)束命令。結(jié)束命令。 E E 地址地址 數(shù)據(jù)表;從指定的地址開(kāi)始用字節(jié)表給定的數(shù)數(shù)據(jù)表;從指定的地址開(kāi)始用字節(jié)表給定的數(shù)據(jù)修改內(nèi)存單元。據(jù)修改內(nèi)存單元。 E DS:100 F3 DS:100 F3 ABAB 8D 8D解釋?zhuān)鹤止?jié)表中的內(nèi)容解釋?zhuān)鹤止?jié)表中的內(nèi)容調(diào)調(diào) 試試 程程 序序 D E B U GR命令4.4.顯示修
9、改寄存器命令顯示修改寄存器命令R R R R;顯示所有寄存器和個(gè)標(biāo)志位狀態(tài)并;顯示所有寄存器和個(gè)標(biāo)志位狀態(tài)并 反匯編反匯編當(dāng)前當(dāng)前CSCS:IPIP指向的指令。指向的指令。顯示標(biāo)志時(shí)使用的符號(hào):顯示標(biāo)志時(shí)使用的符號(hà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 地址地址 功能:從指定的地址開(kāi)始輸入?yún)R編指令;如省略地址,則接著上功能:從指定的地址開(kāi)始輸入?yún)R編指令;如省略地址,則接著上一個(gè)一個(gè)A A命令的最后一個(gè)單元開(kāi)始;若第一次使用命令的最后一個(gè)單元開(kāi)始;若第一次使用A A命令省略地址,命令省略地址,則從當(dāng)前則從當(dāng)前CS:IPCS:IP開(kāi)始(通常是開(kāi)始(通常是CSCS:100100)。)。注釋注釋: :在在DEBUGDEBUG下編寫(xiě)下編寫(xiě)簡(jiǎn)單程序簡(jiǎn)單程序就使用就使用A A命令。命令。每條指令后要按回車(chē)。每條指令后要按回車(chē)。不輸入指令按回車(chē),或按不
11、輸入指令按回車(chē),或按Ctrl+CCtrl+C結(jié)束匯編結(jié)束匯編。 段超越前綴要放在相關(guān)指令的前面,或者單獨(dú)一行輸入段超越前綴要放在相關(guān)指令的前面,或者單獨(dú)一行輸入調(diào)調(diào) 試試 程程 序序 D E B U GG命令6.6.運(yùn)行程序命令運(yùn)行程序命令G G格式:格式:G=G=地址地址 斷點(diǎn)斷點(diǎn)1 1,斷點(diǎn),斷點(diǎn)2 2,斷點(diǎn)斷點(diǎn)1010功能:從指定地址開(kāi)始執(zhí)行程序,直到程序結(jié)束或遇到指定功能:從指定地址開(kāi)始執(zhí)行程序,直到程序結(jié)束或遇到指定的任一斷點(diǎn)。的任一斷點(diǎn)。說(shuō)明:說(shuō)明: 1 1)第一個(gè)地址是自己程序的開(kāi)始,斷點(diǎn)可設(shè)多個(gè),)第一個(gè)地址是自己程序的開(kāi)始,斷點(diǎn)可設(shè)多個(gè),最多可設(shè)置最多可設(shè)置1010個(gè),要會(huì)設(shè)
12、置斷點(diǎn)。個(gè),要會(huì)設(shè)置斷點(diǎn)。2 2)斷點(diǎn)必須設(shè)置在一條指令的首字節(jié)。)斷點(diǎn)必須設(shè)置在一條指令的首字節(jié)。3 3)如設(shè)置了多個(gè)斷點(diǎn),程序在第一個(gè)斷點(diǎn)停下)如設(shè)置了多個(gè)斷點(diǎn),程序在第一個(gè)斷點(diǎn)停下后,顯示寄存器、標(biāo)志及下一條要執(zhí)行的指令,再次后,顯示寄存器、標(biāo)志及下一條要執(zhí)行的指令,再次輸入輸入G G命令,程序繼續(xù)往下執(zhí)行,直到下一個(gè)斷點(diǎn)或命令,程序繼續(xù)往下執(zhí)行,直到下一個(gè)斷點(diǎn)或程序結(jié)束。程序結(jié)束。4 4)程序如有錯(cuò)誤,執(zhí)行時(shí)可能造成死機(jī)。)程序如有錯(cuò)誤,執(zhí)行時(shí)可能造成死機(jī)。調(diào)調(diào) 試試 程程 序序 D E B U G7.7.跟蹤命令(單步執(zhí)行命令)跟蹤命令(單步執(zhí)行命令)T T格式:格式:T =T =;
13、功能:從自己的程序開(kāi)始處一條一條的跟蹤執(zhí)行。功能:從自己的程序開(kāi)始處一條一條的跟蹤執(zhí)行。每執(zhí)行一條每執(zhí)行一條T T指令,都要顯示所有寄存器和標(biāo)志位的指令,都要顯示所有寄存器和標(biāo)志位的值以及下一條指令值以及下一條指令 說(shuō)明說(shuō)明:可選的地址一般為自己程序的開(kāi)始地址??蛇x的地址一般為自己程序的開(kāi)始地址。()執(zhí)行()執(zhí)行T T命令時(shí),若遇到命令時(shí),若遇到CALLCALL或或INTINT命令,則會(huì)命令,則會(huì)跟蹤進(jìn)入相應(yīng)過(guò)程或中斷服務(wù)程序的內(nèi)部。對(duì)于帶跟蹤進(jìn)入相應(yīng)過(guò)程或中斷服務(wù)程序的內(nèi)部。對(duì)于帶重復(fù)前綴重復(fù)前綴REPREP指令,每重復(fù)執(zhí)行一次算一步。指令,每重復(fù)執(zhí)行一次算一步。調(diào)調(diào) 試試 程程 序序 D
14、E B U GU命令6.6.反匯編命令反匯編命令U U U U 地址地址 ;從指定地址開(kāi)始反匯編;從指定地址開(kāi)始反匯編3232個(gè)字節(jié)的機(jī)器個(gè)字節(jié)的機(jī)器指令;省略地址時(shí)指令;省略地址時(shí), ,則接著上一個(gè)則接著上一個(gè)U U命令的最后一個(gè)單元開(kāi)始;命令的最后一個(gè)單元開(kāi)始;若第一次使用若第一次使用U U命令省略地址,則從當(dāng)前命令省略地址,則從當(dāng)前CS:IPCS:IP開(kāi)始(通常是開(kāi)始(通常是CSCS:100100)。)。 U U 地址范圍;對(duì)指定范圍的單元進(jìn)行反匯編。地址范圍;對(duì)指定范圍的單元進(jìn)行反匯編。 U U U 100U 100 U 100 L 10U 100 L 10解釋?zhuān)簣?zhí)行解釋?zhuān)簣?zhí)行U U命
15、令后屏幕顯示的內(nèi)容。命令后屏幕顯示的內(nèi)容。調(diào)調(diào) 試試 程程 序序 D E B U GG命令2舉例說(shuō)明為舉例說(shuō)明為自己的程序設(shè)置起始點(diǎn)和斷點(diǎn)。自己的程序設(shè)置起始點(diǎn)和斷點(diǎn)。G=0000 000d(000f) G=0000 000d(000f) ;從指定地址;從指定地址100100開(kāi)始執(zhí)行程序。開(kāi)始執(zhí)行程序。調(diào)調(diào) 試試 程程 序序 D E B U GN N命令命令7.7.命名命令命名命令N N格式:格式:N N 文件名;文件名;功能:指定文件,以便用功能:指定文件,以便用W W命令在磁盤(pán)上生成該文件,或者用命令在磁盤(pán)上生成該文件,或者用L L命令將文件從磁盤(pán)裝入到內(nèi)存。如:命令將文件從磁盤(pán)裝入到內(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.寫(xiě)盤(pán)命令寫(xiě)盤(pán)命令W W W W 地址地址 ;將指定地址開(kāi)始的內(nèi)存數(shù)據(jù)寫(xiě)入磁盤(pán),生;將指定地址開(kāi)始的內(nèi)存數(shù)據(jù)寫(xiě)入磁盤(pán),生成成N N命令指定的文件;默認(rèn)的內(nèi)存地址為命令指定的文件;默認(rèn)的內(nèi)存地址為CS:100CS:100;寫(xiě)盤(pán)的字節(jié)數(shù);寫(xiě)盤(pán)的字節(jié)數(shù)由由BX
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 19973.2-2025醫(yī)療產(chǎn)品滅菌微生物學(xué)方法第2部分:用于滅菌過(guò)程的定義、確認(rèn)和維護(hù)的無(wú)菌試驗(yàn)
- 二手車(chē)交易按揭擔(dān)保合同樣本
- 畢業(yè)生創(chuàng)業(yè)合作合同模板
- 20《青山不老》(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 1 有余數(shù)的除法-第二課時(shí)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)蘇教版
- 國(guó)際咖啡豆購(gòu)銷(xiāo)合同全文
- Module 3 單元整體(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語(yǔ)六年級(jí)上冊(cè)
- 聯(lián)合市場(chǎng)開(kāi)發(fā)合同綱要
- 度全國(guó)總經(jīng)銷(xiāo)合同書(shū)
- Module 6 Unit 1 You can play football well(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語(yǔ)五年級(jí)上冊(cè)
- 《幼兒教育政策與法規(guī)》教案-單元1 幼兒教育政策與法規(guī)
- 【語(yǔ)文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 2024年決戰(zhàn)行測(cè)5000題言語(yǔ)理解與表達(dá)(培優(yōu)b卷)
- 《現(xiàn)代企業(yè)管理學(xué)》本科教材
- 《中國(guó)人民站起來(lái)了》課件+2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 央企最新版員工手冊(cè)vvv
- 新生兒科出科考試試卷試題
- 信息化教學(xué)設(shè)計(jì)教案大學(xué)語(yǔ)文
- 會(huì)議、匯報(bào)材料排版格式
- 華為公司產(chǎn)品線獎(jiǎng)金分配暫行辦法
- 兒童能力評(píng)估量表(PEDI拍迪)
評(píng)論
0/150
提交評(píng)論