技巧一:在載入名解除安裝的時候下斷點
1. 載入某個dll 的時候下斷點的windbg 命令:
sxe ld:[dll name]
然後按f5,進行重新整理,再使用lmf 檢視裝載的dll名稱。
2. 解除安裝某個dll 的時候下斷點的windbg命令:
sxe ud:[dll name]
比如:sxe ld:wininet(在wininet.dll 被裝載的時候斷點)
3. 還可以通過直接在dllmain下斷點來達到相同目的:
bu wininet!dllmain
技巧二:用windbg -i 將windbg設定為預設偵錯程式
1.如windbg安裝在c:\program files\debugging tools for windows (x86)目錄下,在cmd中輸入:
成功後:
這個操作其實修改是登錄檔鍵值:
\\hkey_local_machine\software\microsoft\windows nt\currentversion\aedebug
or\\hkey_local_machine\software\wow6432node\microsoft\windows nt\currentversion\aedebug
windbg除錯技巧
1 64位機器上執行32位程式得到的dump,需要先進行轉換 load wow64exts sw2 載入符號表 系統符號表 srv d mylocalsymbols 吵雜模式符號匹配 有時候 沒大改,但重編了導致之前的pdb沒有了 符號載入,吵雜模式 強制匹配符號 symopt 0x40 sym n...
Windbg除錯異常
用windbg分析包含異常資訊的dump檔案時,往往當前棧幀已不正確,可通過如下步驟找回 1 teb,找到stackbase和stacklimit 2 通過.cxr命令將異常上下文恢復到相關暫存器 如何找到異常上下文的位址呢?方法一 dds dps dqs stacklimit stackbase ...
windbg雙機除錯
1 雙機除錯設定 環境 主機 win10 虛擬機器 win xp sp3 windbg preview pipe管道鏈結 我機子新增了環境變數居然沒用,所以每次都得設定路徑 symfix c mysymbols sym noisy reload2 符號包無法reload 解決方案 看雪大佬說通過設定...