win10驱动开发
整體開發環境
開發機環境
創建項目并編譯
使用vs2017創建編譯NT式驅動
win10上測試NT式驅動
- bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
- bcdedit /set testsigning on
安裝測試證書,即WDK_PRO_NT_HelloDDK.cer,否則無法加載驅動.如圖:
使用DriverMonitor加載驅動,如圖:
點擊,卸載驅動,虛擬機藍屏,如圖:
.
定位電腦藍屏的原因
修改配置,以便在電腦藍屏的時候生成dump
dump文件在C:\Windows\Minidump或C:\Windows下:
用windbg打開dump文件
第一步: 在windbg中選擇驅動對應的ImagePath;
第二步: 設置微軟的符號路徑和驅動符號路徑, 必須要設置微軟的符號路;
第三步: 執行reload /f. 第一次調試時,必須要加載,后面就不需要了;
第四步: !analyze -v
一個常見的藍屏case
將目標平臺設置為win7。
驅動重復加載導致下面的錯誤
內存指定錯誤導致藍屏
- 創建符號鏈接的代碼再#pragma INITCODE中,卸載驅動的時候刪除符號鏈接時,找不到對應的內存導致藍屏:
win7下有些電腦的debugviewer無法顯示
解決辦法: 修改注冊表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
“Debug Print Filter”=dword:00000008
總結
- 上一篇: java学习(128):map类
- 下一篇: azkaban 与 java任务_azk