一、前期准備:
1. 安裝VS2008
2. 安裝VM8.0,在安裝過程中勾選安裝Integrated Virtual Debugger(
有的時候安裝之后vs2008不一定會出現VMware的工具欄,這是需要重新安裝VMware。如果一直出現vs打開時提示“加載失敗,是否移除”,這時需要打上vs2008補丁sp1然后再次重新安裝VMware)
3. 創建一個windows操作系統的虛擬機
4. 在windows操作系統的虛擬機中安裝VMTools
二、配置將要調試的虛擬機:
1. 虛擬機新建一個有管理員權限的帳號,
帳號名必須與本機一樣。
必須設置密碼,密碼必須與本機同帳號的密碼一樣。(不然會一直在報 0x80004005的錯誤)
2. 修改計算機名,必須為網絡上唯一。(
這個不需要吧!?)
3. 關掉一切防火牆(
包括主機和虛擬機里的)。
4. 修改網絡安全選項:
Run->secpol.msc->本地策略->安全選項->網絡安全:
Lan管理器身份驗證級別,改為“發送LM和NTLM響應”,如圖:
6. 增加本地共享信任:
IE->Internet選項->安全->本地Intarnet->站點->高級->添加file://*..host(
這個不需要把!?)
7. 如果是vista/window7話,關閉UAC:
Run->msconfig->工具->更改UAC設置->調至最低
然后
重啟系統。
8. 如果是Realtek的網卡需要在“本地連接”里面將“大量傳輸減負”的特性去掉。
三、配置vs2008:
1. 打開vs2008發現在菜單欄多了條VMware的工作條
2. 點擊上圖最后一個按鈕彈出如下對話框(我使用的是vm 8.0,只修改了下圖中的前面兩個和最后那一個也成功了的)
第一項為將要進行調試的虛擬機的.vmx文件。
第二項為將要進行調試的調試器,安裝完成后默認的為32位的調試器。如需要需要調試的64位的程序,所以將這個調試器換為64位。(
我覺得這個取決於虛擬機里的系統是多少位的)
第三項為遠程調試器的名字,需要取成網絡唯一。(
這個不需要吧!?)
第四項為將要調試的程序,我的虛擬機為Windows7_X64,所以改為C*Ctrl.exe,
如果是調試普通的exe程序,直接使用默認的設置就可以了。
第五項為共享目錄,如果需要可以進行修改,怎樣修改有說明。
第六項為虛擬機的帳號和密碼,不需要填寫,在第一次進行調試的時候可以手動輸入。
3.點中Pre-Debug Event彈出如下對話框
3.點中Pre-Debug Event彈出如下對話框
在Copy Files中將我們編譯出來64位p11的.dll.ilk.sig三個文件copy到虛擬機的C:\windows\system32中,
這里不能使用相對路徑!
上就是對虛擬機和本機vs2008的全部設置。現在使用 中的第一個按鈕就可以進行下斷點調試了。
注:如果本機的網卡是Realtek的,需要在”本地連接” 里面將“大量傳輸減負”的特性關閉。
補充:如果主機上沒有msvsmon.exe,請在vs2008安裝目錄下找到Remote Debugger下,將對應rdbgsetup.exe安裝一次即可,如果還是沒有msvsmon.exe,可將rdbgsetup.exe其他電腦上安裝,然后將安裝文件拷貝回E:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger可使用。
文中藍色字體為本人補充說明。