6.OD-Run trace /Hit trace
Run trace可以把被調(diào)試程序執(zhí)行過的指令保存下來,了解以前發(fā)生的事件,它能把地址、寄存器的內(nèi)容、消息等記錄到Run trace緩沖區(qū)中,在運(yùn)行Run trace前,要把緩沖區(qū)設(shè)置大些,否則執(zhí)行的指令太多造成緩沖區(qū)溢出:
如果要把Run trace的數(shù)據(jù)保存到文件,在跟蹤之前,打開Run trace窗口,鼠標(biāo)右擊執(zhí)行Log to file即會(huì)彈出個(gè)文件保存框
需要運(yùn)行Run trace,單擊菜單Debug/Open or clear run trace,在打開Run trace緩沖區(qū)后,OD會(huì)記錄
在反匯編窗口顯示的是被調(diào)試程序領(lǐng)空,在反匯編窗口的快捷菜單中選擇Run trace/Add entries of all procedures(Run trace/添加所有函數(shù)過程的入口),這樣能夠檢查每個(gè)可識(shí)別的函數(shù)被調(diào)用的次數(shù),之后,可以在Run trace窗口鼠標(biāo)右擊執(zhí)行profile module(統(tǒng)計(jì)模塊)查看統(tǒng)計(jì)次數(shù)
?
Hit trace能夠讓調(diào)試者辯別哪一部分代碼執(zhí)行了,哪一部分沒有,OD的實(shí)現(xiàn)方法相當(dāng)簡單,它將選中區(qū)域的每一條命令處均設(shè)置一個(gè)INT3斷點(diǎn),當(dāng)中斷發(fā)生的時(shí)候,OD就把它去掉,在使用Hit trace的時(shí)候,不能在數(shù)據(jù)中設(shè)置斷點(diǎn),否則程序可能會(huì)崩潰
當(dāng)遇到一段跳轉(zhuǎn)分支較多的代碼時(shí),需要了解程序執(zhí)行線程,可以用Hit trace,方法是選中這段代碼,單擊右鍵執(zhí)行Hit trace/Add selection,OD會(huì)在已被執(zhí)行過的指令前用另一種顏色標(biāo)記出來
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的6.OD-Run trace /Hit trace的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5.OD-条件断点、条件记录断点
- 下一篇: 7.OD-字符串参考