【轉】http://blog.csdn.net/sagittarius_warrior/article/details/51305046
本文主要介紹在win10下如何設置windbg+vmware,以進行雙機調試。本文主要參考:李Sir的博客,並瀏覽了大量網文,以及windbg自帶的help文檔和MSDN,除了綜合各家的經驗外,也分享了本人在實踐遇到的問題和解決辦法。
一、安裝環境
1,主機(Host OS): win10 X64
2,Windbg:10.0.10586.567 ADM64(本人安裝的是wdk10+VS2015)
3,VMWare:11.0.0
4,Guest OS:win7 X64
二、虛擬機配置
1,打開相應的虛擬機,選擇“編輯虛擬機設置”,打開虛擬機設置對話框,如下
2,觀察“虛擬機設置”這個對話框的“硬件”->“設備欄”,看看是否有“打印機”或“Printer”,如果有,則刪除該設備。
3,選擇“添加”,然後選擇“串行端口”,然後選擇“使用命名管道”,並按如下設置
注:
1)使用命名管道,名字默認即可。
2)另一端選應用程序,即鏈接windbg。
3)IO模式,可選可不選。
4)完成後,需要確認一下新增的設備是“com1”(如果是中文界面,顯示“串行端口”)。爲對比,非com1時,顯示“串行端口2”。
如果在這個地方,COM口編號不對,後續打開windbg,會顯示“debuggee not connected”。附網上關於該問題的解決方案:
“- -我也遇到了這個問題,剛解決。
你在Edit virtual machine settings裏看下你那個串口是不是叫Serial port 2,如果是,問題就在這裏,就是多了那個2。你把這個串口刪掉,然後把那個printer也刪掉,然後重新添加一個串口就可以了,這個時候串口就叫Serial port了。”
三、Windbg的設置
1,在桌面上添加一個windbg的快捷方式;
2,右鍵該快捷方式,打開“屬性”對話框,在目標一欄的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”。
注:李sir的博客就是這麼設置的,但我通過這種方法去打開windbg(右鍵“管理員方式打開”),一直是“Debuggee not connected”。偶然嘗試了下,如下設置,解決了這個問題:
3,在“快捷方式”tab中,選擇“高級”,勾選“用管理員身份運行”。
四、GeustOS設置(該部分完全同“李sir的博客”)
1,以管理身份打開“cmd”。
2,輸入“bcdedit”
3,設置端口1,命令如下:
[cpp] view plain copy
bcdedit /dbgsettings serial baudrate:115200 debugport:1
該處的“1”,對應com口1。
4,複製一個開機選項,命名爲“DebugEntry”,可任意命名。命令如下:
[cpp] view plain copy
bcdedit /copy {current} /d DebugEntry
5,增加一個開機引導項
[cpp] view plain copy
bcdedit /displayorder {current} {ID}
注:這個ID要填寫上一條命令生成的一串數字或字母。
6,激活debug
[cpp] view plain copy
bcdedit /debug {ID} ON
注:ID以生成的數字或字母串代替。
7,重啓虛擬機,選擇“DebugEntry[debug]”作爲啓動項。
8,選擇好啓動項後,立即回到主機,啓動windbg。只有在GuestOS啓動過程中,才能連接上。