筆記 windbg及時除錯

2022-04-15 19:06:38 字數 556 閱讀 1555

當程式在測試或者老化的時候很有用,只要程式有異常丟擲,就能啟用windbg除錯,這樣就能及時的儲存現場。

程式崩潰時,windows系統會呼叫系統預設偵錯程式,其設定在登錄檔

hkey_local_machine\software\microsoft\windows nt\currentversion\aedebug

(注:64位windows的上的路徑不同,在hkey_local_machine\software\wow6432node\microsoft\windows nt\currentversion\aedebug\debugger  )

這裡面有2個主要的值:

auto

= 0 的時候,系統會彈出乙個對話方塊,讓你在幾個偵錯程式中選擇(如果你的系統安裝了多個偵錯程式的話)

= 1 的時候,系統會自動呼叫預設偵錯程式

debugger

預設偵錯程式的路徑。

比如windows自帶的dr.watson : drwtsn32 -p %ld -e %ld -g

或者是windbg: windbg.exe" -p %ld -e %ld -g

Windbg除錯異常

用windbg分析包含異常資訊的dump檔案時,往往當前棧幀已不正確,可通過如下步驟找回 1 teb,找到stackbase和stacklimit 2 通過.cxr命令將異常上下文恢復到相關暫存器 如何找到異常上下文的位址呢?方法一 dds dps dqs stacklimit stackbase ...

windbg除錯技巧

1 64位機器上執行32位程式得到的dump,需要先進行轉換 load wow64exts sw2 載入符號表 系統符號表 srv d mylocalsymbols 吵雜模式符號匹配 有時候 沒大改,但重編了導致之前的pdb沒有了 符號載入,吵雜模式 強制匹配符號 symopt 0x40 sym n...

windbg雙機除錯

1 雙機除錯設定 環境 主機 win10 虛擬機器 win xp sp3 windbg preview pipe管道鏈結 我機子新增了環境變數居然沒用,所以每次都得設定路徑 symfix c mysymbols sym noisy reload2 符號包無法reload 解決方案 看雪大佬說通過設定...