我目前在從Windows 8.1 x64主機上執行Windows 7 x64目標的內核調試時出現了一些問題。我在主機上運行帶有WDK 8.1的Visual Studio 2013,並配置了在VMWare中運行的目標機器。Windows Kernel Debbuging:使用WDK 8.1通過虛擬串行端口進行調試
這是我的目標機器配置。它是通過配置從這裏閱讀大多是 - http://www.codeproject.com/Tips/545835/Kernel-Mode-Debugging-in-a-VM-using-Visual-Studio:
- Windows 7的64位
- 串口COM2與VMWare與名\\。\管道\ COM2。檢查VMWare中的所有適當選項
- 通過msconfig啓用的OS的調試標誌。調試端口是運行在115200波特的COM2。
- 我跑測試目標客戶「WDK測試目標設置x64的x64_en-us.exe」本機上供應
我能夠提供的計算機正確計算機之前 - 它創造了WDK刪除用戶帳號。但是,我遇到了一些實際調試的問題。下面是步驟
- 啓動在VMWare在Windows 7 64位系統的目標圖像,並等待啓動菜單
- 在Visual Studio(主機)上,進入調試 - >附加到進程 - >選擇我的電腦 - >選擇進程「內核」 - >附加
- 在VMWare中,按回車啓動Windows
- 需要一段時間,但在我的主機上,Visual Studio最終會連接。我可以選擇「全部中斷」並實際使用調試器。
但是,我似乎無法連接到調試器,如果我沒有在引導內核之前做到這一點。我只能附上一次。例如,我不能讓Windows初始化到桌面,然後構建我的驅動程序並開始調試。調試器將始終掛在「等待重新連接...」。如果我開始在內核初始化上進行調試,決定停止調試,然後嘗試重新連接或重新連接,也是如此。它將無限期地掛在「等待重新連接...」上。
你好@xtef_你解決了嗎?我有類似的問題 –
這不正常的行爲,你只能在啓動過程中與內核連接嗎? –
@WouterHuysentruit我不太確定這是否是正常行爲;我在線閱讀了衝突的信息。如果這是正常行爲,那麼這意味着我只能在需要重新啓動計算機之前調試一次驅動程序?因爲目前情況就是這樣。在使用VS 2013和WDK之前,我使用過VisualDDK http://visualddk.sysprogs.org/,並且能夠根據需要多次加載/卸載和調試我的驅動程序。目前,我可以在啓動時附加一次,然後再重新啓動後再重新附加。 –