資源描述:
《軟件調(diào)試技術(shù) Debug.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、5.7軟件調(diào)試技術(shù)5.7.1調(diào)試軟件DEBUG簡介●DEBUG調(diào)試軟件是專為匯編語言設(shè)計的一種調(diào)試工具,是開發(fā)匯編語言程序所必須掌握的調(diào)試手段?!裨诓僮飨到y(tǒng)環(huán)境下,啟動DEBUG后將進入DEBUG的命令狀態(tài),在此狀態(tài)下,可以使用DEBUG的任何命令,每個命令均以回車結(jié)尾。●在DEBUG狀態(tài)下,所有地址、數(shù)據(jù)均以無后綴的16進制表示,如:123F、F0AA等。注意5.7.1調(diào)試軟件DEBUG簡介常用DEBUG命令1.顯示存儲單元內(nèi)容●格式1:D[起始地址]格式2:D[地址范圍]-D1243:0000-D0a
2、00:00030006-D5.7.1調(diào)試軟件DEBUG簡介常用DEBUG命令2.修改存儲單元內(nèi)容●格式1:E起始地址[列表]格式2:E地址-E12dfab‘ABC’41(段地址為數(shù)據(jù)段DS的值)-E?CS:100(加空格修改連續(xù)單元內(nèi)容)-E?13B4:000033555.7.1調(diào)試軟件DEBUG簡介常用DEBUG命令3.顯示、修改寄存器內(nèi)容●格式:R[寄存器名]-R-RF-Rax標志名標志為1標志為0OFDFIFSFZFAFPFCF溢出(是/否)方向(減量/增量)中斷(允許/關(guān)閉)符號(負/正)零(是/
3、否)輔助進位(是/否)奇偶(偶/奇)進位(是/否OVDNEINGZRACPECYNVUPDIPLNZNAPONC常用DEBUG命令4.匯編命令●功能:從指定地址開始接受匯編指令。如果輸入?yún)R編指令過程中在某行不作任何輸入而直接回車,則結(jié)束A命令。●格式:A[起始地址]5.7.1調(diào)試軟件DEBUG簡介-A0b10:0010-A常用DEBUG命令5.反匯編命令5.7.1調(diào)試軟件DEBUG簡介●功能:格式1從指定起始地址處開始對32個字節(jié)內(nèi)容轉(zhuǎn)換成匯編指令形式,如果不給出起始地址,則從當(dāng)前地址開始。格式2將指定范
4、圍內(nèi)的存儲內(nèi)容轉(zhuǎn)換成匯編指令。●格式1:U[起始地址]格式2:U地址范圍-U0b30:0010-U-U100105-U0a03:100105常用DEBUG命令6.運行命令5.7.1調(diào)試軟件DEBUG簡介●功能:CPU從指定起始地址開始執(zhí)行,依次在第一、第二等斷點中斷并顯示當(dāng)前所有寄存器及標志位的內(nèi)容,和下一條將要執(zhí)行的指令。若不給起始地址,則從當(dāng)前CS:IP指示地址開始執(zhí)行?!窀袷剑篏[=起始地址][第一斷點地址][第二斷點地址……]-G-G=200300常用DEBUG命令7.跟蹤命令5.7.1調(diào)試軟件D
5、EBUG簡介●功能:從指定地址開始執(zhí)行‘正整數(shù)’條指令。如果不給出‘正整數(shù)’;則按1處理;如果不給起始地址,則從當(dāng)前CS:IP指示地址開始執(zhí)行?!窀袷剑篢[=起始地址][正整數(shù)]-T-T5-T=100,5●功能:退出DEBUG,返回操作系統(tǒng)?!窀袷剑篞常用DEBUG命令8.退出命令5.7.1調(diào)試軟件DEBUG簡介MASM.EXE匯編匯編程序5.7.2軟件調(diào)試的基本方法TEST.ASM源程序TEST.OBJ可選TEST.LSTTEST.CRF機器碼目標程序TEST.EXETEST.COMLINK.EXE連接
6、連接程序可執(zhí)行程序列表文件(.LST文件);同時列出匯編語言源程序和機器語言目標程序的文件。交叉索引文件(.CRF文件)列出程序中使用的符號、變量和標號以及引用情況。C:>DEBUGTEST.EXE-G5.7.2軟件調(diào)試的基本方法Programterminatednormally.反匯編后的程序:13CA:0000B8CA13MOVAX,132913CA:00038ED8MOVDS,AX13CA:0005B506MOVCH,0613CA:0007FECDDECCH13CA:0009BE0000MOVSI,
7、000013CA:000C8ACDMOVCL,CH13CA:000E32DBXORBL,BL13CA:00108A04MOVAL,[SI]13CA:00123A4401CMPAL,[SI+01]13CA:00157E08JLE001F13CA:0017864401XCHGAL,[SI+01]13CA:001A8804MOV[SI],AL13CA:001C80CB01ORBL,0113CA:001F46INCSI13CA:0020FEC9DECCL13CA:002275ECJNZ001013CA:00242
8、2DBANDBL,BL13CA:00267404JZ002C13CA:0028FECDDECCH13CA:002A75DDJNZ000913CA:002CB44CMOVAH,4C13CA:002ECD21INT21-U5.7.2軟件調(diào)試的基本方法-G0005AX=1379BX=0000CX=0080DX=0000SP=0000BP=0000SI=0000DI=0000DS=13C9ES=13B9SS=13C9CS=13CAIP