vs聯機調試自動化配置失敗:清除wdkremoteuser的密碼,可是企業版win10仍是不成功。java
關於在Win10與vs2015環境下搭建內核驅動開發環境看這兩篇文章:小程序
WIN10 + VS2015 + WDK10 + SDK10 + VM虛擬機驅動開發調試環境搭建
Win10下VS2015(WDK10)驅動開發環境配置網絡
搭建過程當中遇到的問題
本人環境介紹:session
物理機win10企業版 10586.218
虛擬機win10專業版 10586.218
vs2015 update2
Windbg 10.0.10586.567
Windows Driver Kit 10.0.10586.0
Windows Sofeware Development Kit 10.0.10586.15工具
問題1:windbg調試虛擬機內核學習
剛開始,因爲我物理機是win10企業版,而恰好電腦上又有win10企業版的鏡像文件,因而懶得去下專業版,直接拿企業版作了虛擬機,按照上面的第二篇文章中配置虛擬機,設置爲調試模式,並設置調試參數,兩種方式:網絡或者串口都行,注意設置完參數以後虛擬機必定要重啓,其實關於windbg配置成內核調試器在windbg幫助手冊上也有,而且也有關於如何在虛擬機上配置的說明,具體這裏就不說了,只說配置過程當中我遇到的問題,配置完以後,打開cmd,切換到x64的windbg目錄,帶參數運行windbg準備調試,可是一直沒出現像文章中的那種成功的畫面,最終發現是我傻Ⅹ了,只用windbg break一下就行了,而後就是cmd要以管理員權限運行,否則會報錯。
爲了不每次用cmd切換目錄,而後輸入命令進行調試,能夠新建cmd快捷方式,bat或com批處理,這裏我新建了快捷方式,具體以下:
這裏寫圖片描述
主要是設置目標,起始位置不用管,cmd以管理員方式運行時,會忽略掉這個,附上目標:優化
C:\Windows\System32\cmd.exe /c cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 & windbg -k com:pipe,port=\\.\pipe\vm,resets=0,reconnect網站
1debug
上面也就是經過串口,下面附上經過網絡:調試
C:\Windows\System32\cmd.exe /c cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 & WinDbg -k net:port=50000,key=1.2.3.4
1
以上關於管道名,端口,key之類的就看你我的設置了。
這樣運行這個快捷方式就可以出現如下界面:
這裏寫圖片描述
雖然能夠經過vs2015寫驅動,而後手動拷貝sys文件到虛擬機,而後windbg下斷調試,可是效率低並且難度較大,因此最好仍是經過vs2015結合源代碼調試,而後就有了問題2
問題2:權限問題
本人在虛擬機win10企業版下嘗試了很長時間,老是在vs2015附加時,提示: Windows Debugging Extension for Visual Studio Could not start debug session,error 80070005:拒絕訪問 很明顯是權限不夠,但我並不知道如何解決。。。也沒找到 多是我安裝完win10企業版以後習慣性用網上的優化工具優化了一下,什麼關閉defender沒關閉自動更新,關閉防火牆,UAC之類的,當前帳戶也確實是管理員帳戶,可是vs一直報這個錯誤。 在上面的第一篇文章中,做者選的是: 這裏寫圖片描述 也就是以後經過手工部署sys到虛擬機,可是實際上選擇: 這裏寫圖片描述 可讓vs自動幫咱們部署驅動到虛擬機,推薦這種方式。這個過程也就是建立一個WDKRemoteUser管理員用戶並安裝一些運行庫等,最後還建立了一個系統還原點。起初我虛擬機是企業版的時候,在安裝那一步總是報錯: Provisioning a target system for driver development fails with error 1312 這裏顯示是bug,可是我注意到vs建立WDKRemoteUser時是有密碼的,而後我用另外一個管理員帳戶清楚了WDKRemoteUser的密碼後,以WDKRemoteUser身份登錄後,再點vs配置裏面的安裝,卻安裝成功了,成功界面: 這裏寫圖片描述 最後我再去vs裏面附加,結果仍是提示: Windows Debugging Extension for Visual Studio Could not start debug session,error 80070005:拒絕訪問 最後我懷疑是企業版的問題,而後我去下了個win10 10586專業版,而且更新到10586.218,也就是最新,而後關閉defender,關閉防火牆,關閉自動更新,再用vs2015進行配置時,發現WDKRemoteUser用戶並無密碼,而且安裝成功,最後在vs2015裏面附加,終於出現了以下界面: 這裏寫圖片描述 雖然還沒開始學內核驅動開發,但單是環境配置這方面就比通常的開發配置複雜的多,我只知道虛擬機被我重啓的n次,可是不得不說學到了不少東西,雖然內核這方面沒有之前那麼火,甚至能夠說不火了,可是學底層的東西就越讓人對上層東西理解更深入,就像之前學c語言,會用c語言開發一些小程序,可是真正學了編譯原理才瞭解編譯器是如何編譯,以後學習pe文件,win32彙編等,感受比java作網站真的有意思多了,不說了,明天開始好好學驅動開發,睡覺。