1. 程式人生 > >VS2017+WDK10驅動編譯與除錯

VS2017+WDK10驅動編譯與除錯

驅動編譯:

如果安裝VS2017時沒有選擇安裝windows SDK,開啟Visual Studio Iinstaller新增安裝sdk元件
這裡寫圖片描述

VS2017安裝完成,啟動下載好的wdksetup安裝wdk10
開啟VS2017進行專案屬性配置:
這裡寫圖片描述
這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述
環境配置完畢,簡單驗證環境配置:
這裡寫圖片描述
按照上面的專案屬性設定後,編譯專案輸出如下:
這裡寫圖片描述

驅動除錯(網路除錯):

主計算機(192.168.0.102)目標計算機(192.168.0.106 ) ( 虛擬機器也可以)
確保兩臺計算機互相ping通(最簡單的辦法就是將防火牆關閉)

目標計算機(WIN8及以上系統):

以管理員許可權執行CMD
//允許進行核心除錯
# bcdedit /set {default} DEBUG ON
# bcdedit /set TESTSIGNING ON

# bcdedit /debug on
//hostip 為主計算機ip,port為網路通訊埠,key為網路通訊所需金鑰(主計算機VS2017配置驅動除錯時需要填入)
# bcdedit /dbgsettings net hostip:192.168.0.102 port:50000 key:1.2.3.4
//檢視settings
# bcdedit /dbgsettings

主計算機:
VS2017選單欄 => Test =>Configure Devices
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

將主計算機編譯的驅動安裝在目標計算機上進行程式碼除錯。)
將wdk安裝目錄下的WDK Test Target安裝程式拷貝到目標計算機安裝,C盤DriverTest目錄下devcon進行驅動安裝(網上查詢devcon命令安裝驅動)
這裡寫圖片描述
VS2017進行原始碼除錯:
這裡寫圖片描述
這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述

這裡寫圖片描述
windbg命令
//指定驅動所需的程式除錯資料庫路徑(編譯驅動輸出的.pdb檔案路徑)
kd> .sympath G:\點滴記錄\7-28\driver\KMDF Driver1\x64\Debug
//過載 /n只加載核心模組(根據需求選擇)
kd> .reload /n /f
//在程式碼處設定斷點,執行除錯
kd> g
目標計算機觸發驅動,進入斷點除錯。