由於最近需要調試win8下面驅動的一個bug,所以嘗試了一下用windbg進行雙機聯調,發現VirtualKD v2.6版本對windows 8 Consumer Preview版的支持不好,用target裏面的vminstall.exe可以安裝成功,但是重啓之後,win8就會不停的嘗試修復~~,完全無法調試。具體原因未知。
無奈只好用最原始的雙機聯調的辦法來試一下。
過程和調試win7類似。
1. 首先設置一下Virtual Machine Settings,創建一個Serial Port,使用named pipe,
以VMWare 10.0中文版爲例
2. 在win8中,以管理員權限執行如下命令
C:\Windows\system32>bcdedit /copy {current} /d "Windows 8 Debug"
已將該項成功複製到 {945e8a3c-6a72-11e1-ab5a-eeb97f46a921}。
C:\Windows\system32>bcdedit /debug {945e8a3c-6a72-11e1-ab5a-eeb97f46a921} on
操作成功完成。
C:\Windows\system32>bcdedit /dbgsettings serial debugport:1 baudrate:115200
操作成功完成。
3. 創建一個windbg的快捷方式,其命令行爲
"C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe
這樣,重啓之後,選擇Windows 8 Debug啓動入口,開啓windbg,就可以連接上win8進行內核驅動調試了。
期待VirtualKD能夠快點支持Win8。
另外,發現在Win8 Consumer Preview版本中,驅動的關機回調函數中對註冊表的所有操作都是返回成功,但開機後註冊表沒有發生變化,比較奇怪,不知道是不是系統機制發生變化了。
新增:
VirtualKD 2.8支持win8了