windbg調試方法
1、網絡連接
兩臺pc通過網絡連接,我們把驅動測試的主機稱爲目的機,把運行windbg進行遠程調試的主機稱爲host主機,首先設置目的機與host主機連接的ip端口以及key信息,已管理員權限運行CMD,輸入以下命令:
bcdedit /dbgsettings net hostip:192.168.6.14 port:50000 key:1.2.3.4
開機目的機的調試模式:
bcdedit /set {default} DEBUG YES
禁用驅動程序簽名:
bcdedit /set nointegritychecks on
–如果要恢復驅動程序簽名,再次運行
bcdedit /set nointegritychecks off
運行host主機的WinDbg調試軟件,如果安裝wdk會自帶,沒有安裝需要手動下載安裝,啓動之後如下
配置windbg調試的驅動文件目錄和源碼文件目錄,File-Symbol search Path,File-Source File Path
設置與目的機連接的網絡信息,端口號和key值,由上述步驟指定
點擊確定,此時如果一直停留在 waiting to reconnect…,需要重啓目的機。
重啓目的機後,可以看到windbg與目的機連接上了
目的機使用驅動加載工具加載測試驅動,並啓動
2、遠程調試
Host主機上的windbg打開要調試的源碼文件,File-Open source file
接下來快捷鍵CRL+B 或者點擊工具欄的中斷按鈕,使目的機內核運行暫停,在需要調試的位置加入斷點,打開watch窗口,可以觀察相關變量的值。例如在目的機啓動應用軟件,應用軟件通過輸入兩個數值,傳給驅動程序,驅動程序做加法計算,然後驅動再把值返回給應用軟件,圖示如下:
可以看到windbg單步調試信息如下:
調試時,目的機處於暫停狀態(卡死),在cmd窗口的命令輸入框輸入g,目的機恢復運行狀態,可以看到測試的應用程序返回了運行結果1+9=10
備註
上述測試驅動與應用代碼鏈接 https://download.csdn.net/download/jiangyingfeng/12023768