winDbg在VMware除錯驅動遇到的問題

2022-03-27 16:09:12 字數 1420 閱讀 7728

最近看《寒江獨釣-windows核心安全程式設計》裡面開始的用windbg除錯虛擬機器驅動連線總是失敗:如下圖:

在虛擬機器上修改後的boot.ini檔案內容如下:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)/windows

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)/windows="microsoft windows xp professional" /noexecute=optin /fastdetect

multi(0)disk(0)rdisk(0)partition(1)/windows="microsoft windows xp professional" /noexecute=optin /fastdetect/debug /debugport=com1 /baudrate=115200

可是總是連線不上,在網上差了資料才知道,vm建立的虛擬串列埠有時是com2埠,裝置名稱為serial port2,在vm上的系統的硬體管理器上會發現只有com2埠,而沒有com1口。此時boot.ini的設定是錯誤的。應該將boot.ini檔案改為

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)/windows

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)/windows="microsoft windows xp professional" /noexecute=optin /fastdetect

multi(0)disk(0)rdisk(0)partition(1)/windows="microsoft windows xp professional" /noexecute=optin /fastdetect/debug /debugport=com2 /baudrate=115200

建立命名管道:

修改windbg的快捷方式目標為:

"d:\debugging tools for windows (x86)\windbg.exe" -b -k com:port=\\.\pipe\com_2,baud=115200,pipe

虛擬機器進入debug啟動選項,windbg命令kd>g,就可以連線了:

windbg 和 vmware 單機除錯步驟

1 先在vmware裡選擇除錯模式讓虛擬機器停止,等待windbg發出 g命令。2 開啟windbg,出現斷點提示,輸入g,虛擬機器繼續執行。dbgbreakpoint 放在需要除錯的地方重新編譯驅動程式 或加入軟斷點 asm int 3 4 用ddk來編譯驅動,輸入build czg 把編譯好的驅...

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...