1. 程式人生 > >WindbgPreview虛擬機器雙機核心除錯

WindbgPreview虛擬機器雙機核心除錯

#Windbg虛擬機器雙機核心除錯
做核心除錯時,我們經常使用到windbg的虛擬機器雙機除錯,所以這裡記錄一下配置雙機除錯的過程,方便查詢。另外,微軟提供了一個windbgpreview 工具,算是windbg的升級版本,ui更好看了,並且把x86和 x64合在了一起,還不需要管理員許可權執行。比較方便。

首先選擇連線方式,用虛擬機器只有一種串列埠方式,通過虛擬機器模擬的串列埠輸出到主機上的命名管道,然後 WinDbg(preview) 連線這個命名管道,從而實現主機和虛擬機器的連線

1. 第一步就是給虛擬機器建立虛擬串列埠。

這裡寫圖片描述
關掉虛擬機器,進入該虛擬機器的設定頁面。首先我們要刪除印表機這個硬體裝置,因為印表機的硬體裝置佔了一個串列埠,導致我們後面新增的串列埠只能是串列埠2.當然,你也可以不刪,只是後面設定的時候要改一些引數。
然後點選左下角的“新增”。

這裡寫圖片描述
選著串列埠,下一步。

這裡寫圖片描述
選擇輸出到命名管道,下一步。

這裡寫圖片描述
命名管道名稱為WinDbg(Preview) 連線時需要用到的 管道名,\.\pipe\字首不可少,後面接一個容易理解的名稱即可。選擇另一端是應用程式,即windbg Preview。完成。

2. 新增除錯啟動項

設定好硬體連線方式後(這裡是虛擬硬體),啟動虛擬機器中的系統,新增除錯啟動項。因為虛擬機器只是虛擬了串列埠 , 所以設定系統啟動項時只能使用串列埠方式。Vista 之前的系統通過修改 boot.ini 檔案實現,如下表。紅色項表示新添 加的啟動項,/debug 表示開啟核心除錯引擎,/debugport=com1 表示採用串列埠 1 通訊,/baudrate=115200 設 置串列埠1 的波特率為 115200。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="debug entry" /noexecute=optin   /debug /debugport=com1 /baudrate=115200

最後一行的啟動項配置就是我們呢要新增的。
新增完後重啟, 在進入啟動項的選擇介面後,上下選擇一下,使其停留在這個介面。然後開啟windbg Preview 的核心除錯介面,