日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

WinDBG 技巧:設斷點命令詳解(bp, bu, bm, ba

系統 2169 0

WinDBG 提供了多種設斷點的命令: bp, bu, bm, ba

?

bp 命令是在 某個地址 下斷點, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 對于后者,WinDBG 會自動找到 MyApp!SomeFunction 對應的地址并設置斷點。 但是使用bp的問題在于:1)當代碼修改之后,函數地址改變,該斷點仍然保持在相同位置,不一定繼續有效; 2)WinDBG 不會把bp斷點保存工作空間中 。? 所以,我比較喜歡用bu 命令。

?

bu 命令是針對 某個符號 下斷點。 比如 bu MyApp!SomeFunction 。 在代碼被修改之后, 該斷點可以隨著函數地址改變而自動更新到最新位置。? 而且bu 斷點會保存在WinDbg工作空間中, 下次啟動 Windbg 的時候該斷點會自動設置上去。

另外,在模塊沒有被加載的時候,bp 斷點會失敗(因為函數地址不存在),而bu 斷點則可以成功。 新版的WinDBG中 bp失敗后會自動被轉成bu 。

?

bm 命令也是針對 符號 下斷點。 但是它支持 匹配表達式 。 很多時候你下好幾個斷點。 比如,把MyClass 所有的成員函數都下斷點: bu MyApp!MyClass::* , 或者把所有以CreateWindow開頭的函數都下斷點: bu user32!CreateWindow*

?

以上三個命令是對代碼下斷點, 我們還可以對數據下斷點。

?

ba 命令就是針對 數據 下斷點的命令, 該斷點在指定內存被訪問時觸發。 命令格式為

ba ? Access ? Size ?[ 地址]

Access 是訪問的方式, 比如 e (執行), r (讀/寫), w (寫)

Size 是監控訪問的位置的大小,以字節為單位。 值為 1、2或4,還可以是 8(64位機)。

?

比如要對內存0x0483DFE進行寫操作的時候下斷點,可以用命令 ba w4 0x0483DFE

?

這里順便提以下其他斷點命令:

?

bl ? 列出所有斷點

bc ? 清除斷點

bd 禁用斷點

be 啟動被bd 命令經用的斷點

?

?

?

>> 原創文章的版權屬于作者,轉載請注明出處和作者信息( http://blog.csdn.net/WinGeek/ ), 謝謝。 <<

?

WinDBG 技巧:設斷點命令詳解(bp, bu, bm, ba 以及bl, bc, bd, be)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 石屏县| 淮安市| 尉犁县| 石首市| 平顶山市| 台南市| 迭部县| 温泉县| 洛川县| 德江县| 太仆寺旗| 抚顺市| 中宁县| 隆回县| 锦州市| 天全县| 长治市| 黄冈市| 昂仁县| 长海县| 东海县| 柘荣县| 洪江市| 龙陵县| 舟曲县| 清河县| 郎溪县| 苍南县| 桐庐县| 卢龙县| 菏泽市| 长宁区| 临江市| 柳河县| 油尖旺区| 宜都市| 云阳县| 河源市| 苍山县| 磴口县| 昌吉市|