天天看點

42、驅動程式調試

1、通過列印,用KdPrint 

2、存儲dump資訊。電腦屬性,進階,設定,小記憶體存儲。Dump資訊用WinDbg檢視。 

3、使用WinDbg調試工具 

1)設定符号表

在系統環境變量,使用者變量中設定_NT_SYMBOL_PATH,值為

意為将http位址處下載下傳的符号表存儲于c:\symbols下。

<a href="http://www.cnblogs.com/mydomain/archive/2010/10/14/1851681.html">http://www.cnblogs.com/mydomain/archive/2010/10/14/1851681.html</a>

設定使用者生成的驅動程式的符号表檔案(pdb檔案):

通過File-&gt;Image File Path 把sys檔案的目錄設定好,sys檔案會記錄pdb檔案的位置。

在windbg中,堆棧方向是向上的。

2)如何使用WinDbg調試程式

◇安裝好WinDbg,安裝好Windows符号檔案,并将符号檔案路徑加入到WinDbg的符号檔案路徑中。

◇運作WinDbg。

◇加載***.exe的符号檔案:菜單“file\symbol file path”,在對話框中選擇“browse”,找到編譯生成的符号檔案目錄選中,單擊“确定”按鈕,加入符号檔案。

◇将WinDbg設定為源代碼模式:在菜單“Debg”中将“Source Mode”勾選上。

◇打開供調試的可執行檔案***.exe:選擇菜單“file”&gt;&gt;“executable file path”,在對話框中找到之前生成的***.exe,單擊“打開”按鈕。

◇WinDbg會在程式的某個位置自動中斷。在“Command”視窗下面的指令輸入欄中輸入指令。

3)指令

F8單步

d 檢視記憶體資料 

l 列出程序資訊 

lm 檢視已經加載的子產品 

g 運作

p 單步運作

ld 加載符号檔案

r 檢視寄存器

bp,bu,bm:bp為執行斷點,bu為未解析斷點,bm為符号斷點

bl 列出斷點

bc 清除斷點

4、通過WinDbg與VMWare來實作聯調。

設定斷點: bp 函數名/位址名

清除斷點: bc [1|*] //1表示1号斷點。對于沒有加載符号表的驅動程式,可以使用延遲設定斷點:bu.

符号表設定:重新加載(.reload),列出目前所有斷點(.lm),手動加載符号表(.ld)

5、其它調試軟體

IRPTrace 專業調試IRP

BusHound 調試USB

Device Tree,DbgView

附:虛拟機與主控端實作檔案共享

Install VMWare Tools

工程中,屬性,選項,ADD,網絡共享。

\\.host\ 就可以通路。

繼續閱讀