資源描述:
《匯編語言2_4調試程序DEBUG課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、調試程序DEBUG介紹封面1調試程序DEBUG的使用調試程序DEBUG的使用DEBUG.EXE是DOS提供的用于調試可執(zhí)行程序的工具軟件,是匯編語言程序設計中常用的調試工具。在DEBUG環(huán)境下,不但可以調試經(jīng)匯編、連接后生成的可執(zhí)行程序,也可以編寫簡單的程序。2啟動DEBUG程序一.啟動DEBUG程序①在windows下雙擊Debug②在DOS提示符下鍵入:DEBUG[可執(zhí)行文件名]↙若選上可執(zhí)行文件名,則在啟動DEBUG的同時,并將指定文件裝入內存,供調試。演示:DEBUG的兩種啟動方法3命令格式二、DEBUG命令和參數(shù)的格式1.命令格式命令字母[參數(shù)]字母不分大小寫
2、;參數(shù)默認只使用16進制數(shù),不需加H;分割符(用空格)只在兩個數(shù)值之間是必須的,命令和參數(shù)之間可有可無;鍵入回車鍵執(zhí)行命令,Ctrl+Break或Ctrl+C中止命令的執(zhí)行;如命令不符合DEBUG的規(guī)則,則提示“error”錯誤。4參數(shù)格式12.參數(shù)格式①表示地址(邏輯地址):段地址:偏移地址D0400:2500Dds:04Dcs:100偏移地址D2505D100;DEBUG認為輸入的是偏移地址,段地址采用默認的段寄存器,不同的命令默認不同的段寄存器,例如匯編命令默認CS,顯示數(shù)據(jù)命令默認DS。既不送段地址,也不送偏移地址,段地址采用默認的段寄存器,偏移地址采用當前值。
3、只送段地址,省略偏移地址,非法。如DDS:或D0400:②表示地址范圍(用來表示一片內存區(qū))開始地址結束地址如“DDS:050”,“D2AC0:100200”,“D100120”注意:結束地址不能帶段地址,指定的地址范圍不跨段開始地址L字節(jié)長度如“DDS:0L10”,“D100L20”注意:“L”不可省,“字節(jié)長度”表示字節(jié)數(shù)。5命令索引命令索引D命令E命令F命令R命令A命令U命令G命令T命令Q命令N命令L命令W命令P命令6D命令三.DEBUG命令1.顯示內存單元內容命令D①D[地址]②D[范圍];如不指定范圍,一次顯示8行×16個字節(jié)。-D200:100-D200;2
4、00為偏移地址,默認段寄存器DS-DDS:100110 或 -D100 L107D命令解釋:執(zhí)行D命令后的屏幕顯示內容P908E命令2.修改內存單元內容命令E功能:從指定地址開始,修改(或連續(xù)修改)內存單元內容。①E地址;DEBUG首先顯示指定單元內容,如要修改,可輸入新數(shù)據(jù);空格鍵顯示下一個單元內容并可修改,減號鍵顯示上一個單元內容并可修改;回車鍵結束命令。②E地址數(shù)據(jù)表;從指定的地址開始用字節(jié)表給定的數(shù)據(jù)修改內存單元。-EDS:100F3‘AB’8D解釋:字節(jié)表中的內容9F命令3.添充命令FF范圍數(shù)據(jù)表;將數(shù)據(jù)表寫入指定范圍的存儲單元;數(shù)據(jù)個數(shù)多,忽略多出的數(shù)據(jù),個
5、數(shù)少,則重復使用數(shù)據(jù)表。-FDS:0L501,02,03,04,05-FDS:0L50102030405(空格分隔)-FDS:0L5FF;5個字節(jié)重復使用FF注意和E命令的區(qū)別:E地址數(shù)據(jù)表起始地址,不是范圍10R命令4.顯示修改寄存器命令R①R;顯示所有寄存器和8個標志位狀態(tài)并反匯編當前CS:IP指向的指令。顯示標志時使用的符號:標志標志=1標志=0OFOVNVDFDNUPIFEIDISFNGPLZFZRNZAFACNAPFPEPOCFCYNC②R寄存器名;顯示并修改指定的寄存器。RAX;RIP;RF等11A命令5.匯編命令A格式:A[地址]功能:從指定的地址開始輸入
6、匯編指令;如省略地址,則接著上一個A命令的最后一個單元開始;若第一次使用A命令省略地址,則從當前CS:IP開始(通常是CS:100)。注釋:①在DEBUG下編寫簡單程序就使用A命令。②每條指令后要按回車。③不輸入指令按回車,或按Ctrl+C結束匯編。④段超越前綴要放在相關指令的前面,或者單獨一行輸入12U命令6.反匯編命令U①U[地址];從指定地址開始反匯編32個字節(jié)的機器指令;省略地址時,則接著上一個U命令的最后一個單元開始;若第一次使用U命令省略地址,則從當前CS:IP開始(通常是CS:100)。②U地址范圍;對指定范圍的單元進行反匯編。-U-U100-U100L1
7、0解釋:執(zhí)行U命令后屏幕顯示的內容。13G命令7.運行程序命令G格式:G=地址[斷點1,斷點2,…斷點10]功能:從指定地址開始執(zhí)行程序,直到程序結束或遇到指定的任一斷點。說明:1)第一個地址是自己程序的開始,斷點可設多個,最多可設置10個,要會設置斷點。2)斷點必須設置在一條指令的首字節(jié)。3)如設置了多個斷點,程序在第一個斷點停下后,顯示寄存器、標志及下一條要執(zhí)行的指令,再次輸入G命令,程序繼續(xù)往下執(zhí)行,直到下一個斷點或程序結束。4)程序如有錯誤,執(zhí)行時可能造成死機。14G命令2舉例說明為自己的程序設置起始點和斷點。-G=0000000