日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win10驱动开发

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10驱动开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整體開發環境

  • win10 開發機
  • vmware 上的 win10 調試機
  • 開發機環境

  • windows sdk: 版本 10.0.16299.0
  • wdk 版本10.0.16299.15
  • vs2017
  • vmware 16.2
  • 創建項目并編譯

    使用vs2017創建編譯NT式驅動

  • 使用vs2017不能直接創建nt式驅動的項目,我們這里創建一個空的wdm項目,如圖:
  • 在項目屬性中選擇windows sdk的版本為10.0.16299.0,如圖:
  • 關閉一些特殊的編譯開關,如圖:
  • 編譯后,會生成如下幾個對象:
  • 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

  • 從dump中看,還沒有進去DriverEntry,在__security_init_cookie時出了問題:
  • 原因是生成驅動時,選擇的目標平臺是win10,但是驅動運行在win7上,解決方法如下:
    將目標平臺設置為win7。
  • 驅動重復加載導致下面的錯誤

    內存指定錯誤導致藍屏

    • 創建符號鏈接的代碼再#pragma INITCODE中,卸載驅動的時候刪除符號鏈接時,找不到對應的內存導致藍屏:

    win7下有些電腦的debugviewer無法顯示

    解決辦法: 修改注冊表
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
    “Debug Print Filter”=dword:00000008

    總結

    以上是生活随笔為你收集整理的win10驱动开发的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。