WDM學習與Windbg核心除錯系列(三)

本文重點如下;Host + VirtualBox + Windbg除錯、Host + VMWare + Windbg除錯、Host + Visual DDK + VMWare + Windbg除錯。這個單元除了VirtualBox的說明其主機規格和之前一樣外,後面兩個說明的Host和Target均是Win7  64-bit,和之前的平台不同。


(一)Host + VirtualBox + Windbg除錯:
1.首先針對VirtualBox的設定項目如下。















2.在Target中的Win7設定如下(Window+R、接著打msconfig)。

















3.接著Windbg設定如下(Ctrl+k)。















4.接下來的執行順序頗為重要,如果沒照此順序執行可能會以為無法連接!首先執行VirtualBox的Win7,接著再執行Windbg,接著再將Win7重開機後,應能看到正常連線的畫面。如果無法連線,將Target重開機幾次應可成功連線。


5.如果先開啟Windbg,再執行Win7會出現如下錯誤!








6.先執行VirtualBox的Win7,接著再執行Windbg,如果設定正常會上方會出現「opened \\.\pipe\com_2」畫面。















7.接著再將Win7重開機,Windbg下方會顯示「Debuggee is running」的訊息,接著再按上面「Break」按鈕。















8.即進入除錯畫面。
















以上便是Host + VirtualBox + Windbg的除錯設定,至於設定下載Symbol  File的方式可參閱本系列前幾篇文章說明,在此不重複描述。


(二)Host + VMWare + Windbg除錯:
1.針對VMWare的設定如下。先按下「Add...」加入Serial Port 2硬體,接著依紅框處設定值設定。其中com_1建議設定成com_2較容易連接(原因不明!雖然我Host上沒有COM1,但很奇怪的是設成com_1就連不上,一旦改成com_2馬上就成功了)。(注意;VMWare 12版的virtual printers預設是關閉的,需先至Edit\Preferences...\Devices中開啟)






















2015/10/06補充
利用pipe除錯設定的說明,該設定要分成三部份來看待,如果設定錯誤的話就會一直出現waiting to reconnect的訊息。
(1)VMWare:設成\\.\pipe\com_2。
(2)Host:實體裝置有COM3、COM4。
(3)Windbg:設成\\.\pipe\com_2。
(4)Target:設成COM1。

2.為了增加內容廣度,在Target中的OS由Win7改成WXP,其設定如下(Window+R、接著打msconfig、接著選BOOT.INI頁面)。














3.按下「進階選項」後,依下列勾選項目進行設定。


















4.其餘流程和VirtualBox相同,不再贅述。只附上成功連上Windbg的畫面。
















(三)Host + Visual DDK + VMWare + Windbg除錯:
1.本來計劃要撰寫這個組合的操作程序,後來想想未來也不會用這樣方式開發Driver所以就放棄了。不過底下相關連結可以參考,照作的話應該就能成功了。

2.相關連結:sysprogs(1)sysprogs(2)
VS2010 + WDK + VirtualDDK + VMware
VS2010 + VMWare8 + VisualDDK1.5.6
VirtualKD + VMWare实现单机内核调试

沒有留言:

張貼留言