環境:
同一局域網內,主機和虛擬機遠程調試
遠程計算機:虛擬機搭的WindowsXP/32(局域網中使用橋接,非局域網使用NAT)
本地計算機:Windows XP、Win7
1.本機計算機要求:VS2008 IDE 打開被調試代碼
2.本機計算機登陸的用戶名和密碼,必須和遠程計算機的登錄名和密碼相同,僅僅用戶名相同,密碼不同也是不可以的,會報錯。
(也可以不設相同用戶名和密碼,貌似只有VC++下可以,在遠程調試器選項里設置無驗證模式,相應的在項目屬性的調試頁里設置,見下面調試方案1中VC++的"無驗證模式"調試;)
3.遠程計算機安裝遠程調試器:Remote Debugger,可以直接復制VS2008安裝目錄C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger下的X86目錄,(X64對應64位機);
4.對於本地和遠程計算機都要保證DCOM分布式服務是打開的,可以通過控制面板->服務中打開
5.關於本地安全策略:
開始->程序->管理工具->本地安全策略,安全設置->安全選項->網絡訪問:本地帳戶的共享和安全模式,在Windows XP中本地帳戶的共享和安全模式中默認為“僅來賓-本地用戶以來賓身份驗證”,需改為:經典->本地用戶以自己的身份驗證",否則可能碰到“VS IDE attach遠程進程時報告用戶名和密碼不匹配的錯誤”.
6.將本地計算機上要調試程序的debug目錄中生成的文件拷貝到遠程機子的共享目錄中(最好直接把生成目錄定位到遠程的共享目錄,省的每次改動后重新拷貝,如圖);
調試方案:
(1)開發環境直接啟動遠程進程形式
①C#、ASP.NET
項目屬性--調試,如圖設置,在本地VS IDE上按F5即可調試遠程機器上的執行文件:
②VC++
Windows驗證模式調試:項目屬性--調試,如圖設置,在本地VS IDE上按F5即可調試遠程機器上的執行文件:
無驗證模式:項目屬性--調試,如圖設置,在本地VS IDE上按F5即可調試遠程機器上的執行文件:
(調試頁面只要修改"連接"這一項即可,注意,不能忘了把遠程調試器修改為不驗證)
(2)附加進程形式(C#和VC++應該一樣)
①運行VS遠程調試監視器msvsmon.exe,記住圖中的liu@WINXP32,格式是"登錄用戶名@計算機名",同時在遠程機器運行要調試的目標程序,如圖:
②VS程序中,調試--附加到進程,點擊瀏覽,選中遠程機器,然后在下面的進程列表中,選中需要附加調試的進程,如圖: