天天看點

Win64 驅動核心程式設計-1.環境搭建

驅動開發環境及其雙機調試環境搭建

開發環境搭建

使用工具:vs2015,Windows 10 SDK_10.0.14393,WDK10.0.14393.0

(1)安裝VS2015  随便一個版本吧,我安裝的企業版

(2)安裝WDK10.0.14393 安裝WDK

(3)安裝Windows 10 SDK_10.0.14393.安裝SDK,這個首先可以嘗試從VS配置更新裡安裝。

控制台->解除安裝程式->vs2015->更改

Win64 驅動核心程式設計-1.環境搭建

選上這個SDK,然後更新。注意這個地方很有可能更新失敗,我在公司一次就更新成功,在家裡更新了好多次,最後都是hash校驗失敗啥的錯誤。最終無奈,去網上找離線安裝包,注意離線安裝包是一個幾百兆的壓縮檔案,不是那種很小的。很小的下載下傳下來,輕按兩下之後還是走的上面的那個流程。相當于下載下傳器。下載下傳器下載下傳下來的依然可能出現之前的hash校驗失敗。這個地方我嘗試了好多次。

TIP:最後一點就是一定要注意,SDK和WDK的第三位版本号一定要對上。我的是14393。

搭建輕按兩下調試環境

dump。

輕按兩下調試環境搭建很簡單。下面說下步驟:

1.安裝VMWARE,虛拟機。

2.安裝Win 64系統。(我是安裝的win7)。

3.把第二部安裝的系統UAC關掉。

4.在虛拟機裡安裝WMware Tools。這個在虛拟機設定裡可以直接更新。

5.在虛拟機裡直接安裝.net framework4(如果安裝的系統高于win7就不用了,win7,貌似是3.5的,之後都是大于等于4.0的)。

6.備份虛拟機目前鏡像。

上面安裝完虛拟機之後,接下來繼續搭建調試環境。

1.安裝windebug.

2.下載下傳VirtualKD然後把target檔案夾拷貝到虛拟機裡。

3.虛拟機裡管理者權限,找到剛剛下載下傳的VirtualKD,運作target檔案夾下的vminstall.exe。

4.然後在本機裡運作VirtualKD裡面的wmmon64.exe,設定調試路徑[Debugger path]為1安裝的windebug路徑

Win64 驅動核心程式設計-1.環境搭建

5.重新開機剛剛的虛拟機(注意此時本機的wmon64正在開啟着,在第3步裡)。選擇這個啟動項:

Win64 驅動核心程式設計-1.環境搭建

然後會發現windebug自動啟動了,其實是被wmon喚醒的,然後電腦卡在這個界面:

Win64 驅動核心程式設計-1.環境搭建

可以了解為現在是卡到了調試斷點,在windebug裡面直接按F5讓虛拟機裡的系統跑起來。

Win64 驅動核心程式設計-1.環境搭建

6.然後先别調試,先去下載下傳windows符号表:

​​http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx對應找到自己系統的符号表。注意有SP1和RTM的差別。​​下載下傳之後安裝到C:\symbols這個目錄。

7.在windebug裡設定符号表路徑:

File->Sysbol file path

Win64 驅動核心程式設計-1.環境搭建

8.測試符号表是不是導入成功,此時先重新開機剛剛的虛拟機,進入到那個按f5之前的那一步。

輸入u KiInsertQueueApc看到下面這樣(u xxx是記憶體代碼反彙編):

Win64 驅動核心程式設計-1.環境搭建

就沒啥毛病了。

繼續閱讀