VC IDE遠程調試

 

序:通常在軟件開發的過程中一個比較重要的階段就是--測試,測試階段中很可能會涉及到有這樣的bug,在WIN7下不出現,在XP下出現…,對於作爲一個開發人員來說,當遇到問題的時候我們必須要追蹤問題並找出問題的根源,因此我們要進行Debugger,但是通常我們應該會頭疼,頭疼的原因是我們本地機器沒有裝WIN7 OS,又或是沒有裝XP OS,儘管有的人會同時裝XP,WIN7,但是有很多的不便性,其一是:兩個OS會佔用比較多磁盤空間,儘管現在的磁盤空間比較大,其二是:如果我們啓動的是WIN7,想在XP上追蹤問題,那麼我們必須重啓進行切換,也許你覺的這不是問題,切換系統又不會花多少時間,但是如果你在XP上已經找到bug的原因,想把修改後的Code在WIN7下再跑一遍,那麼,對不起你又得進行切換系統,如果在WIN7下你的Code有點小問題,然後你改動後,又得在XP系統上再驗證一下,況且現在我們的機器裝的應用軟件還蠻多的,啓動比較慢,如此反覆的進行系統的切換我相信你會瘋掉,嘿嘿。因此我們這裏就引出主題:進行遠程調試,如果我想在XP下進行調試而我裝的OS是WIN7,那我可以在裝爲XP系統的同仁機器上進行遠程調試,但是這樣可能會影響到同仁的工作效率,畢竟你要把你的exe,pdb等檔案放到同仁的機器上,當然你可以麻煩同仁共享一個Folder給你專門存放遠程調試所需要的文件,但是你必須在同仁的機器上啓動msvsmon.exe,所以還是有點不方便,如果我們能把我們自己工作電腦當做遠程電腦那就不存在這樣的問題了,這樣我們就要借用虛擬機來實現.(VM VisualBox).好了,下面就具體介紹這兩種遠程調試的方法:

(1)    在另外一臺機器上進行遠程調試

具體的做法如下:

a)遠程測試環境的配置

將“Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86”下的所有文件複製到遠程計算機中,將開發好的應用程序(.exe文件)和符號文件(.pdb文件)複製到遠程計算機中。 在遠程計算機上啓動“msvsmon.exe”,並將“工具”->“選項...”的“身份驗證模式”改爲“無身份驗證(僅限本級)”,並勾選“允許任何用戶進行調試”。如圖所示:

b)本地開發環境設置

項目屬性中對調試選項進行配置,如下圖所示。注意圖中“遠程命令”與“工作目錄”是指遠程計算機中的目錄。如圖所示:

按F5即可對遠程應用程序進行調試。

 

(2)    在同一臺機器上進行遠程調試.

我們必須安裝一個虛擬機,我們於Oracle VM VisualBox來作爲例子來介紹,首先安裝VM VisualBox, 裝完VisualBox後就要裝真正的虛擬OS,可以裝多個,具體安裝方法這裏就不介紹了,安裝完後爲了使虛擬機可以訪問本地磁盤文件,那麼我們必須要做一件事情,

即在VisualBox中 “設備”=> “分配數據空間”=> “添加數據空間”然後選擇你要添加的數據空間盤符和設定屬性,如下圖所示:(爲了比較清楚我捉取整個屏幕)

然後我們設定網絡連接,在設定網絡連接前我們必須退出虛擬系統(XP),按以下方式來進行設置網絡連接。

“設置(s)”=>“網絡”=> “連接方式(A)”更改爲“Bridged Adapter”,點擊確定後退出,然後重新啓動虛擬XP系統(點擊VisualBox中的Start),進入系統後我們先試的在本機上Ping該虛擬機是否可以Ping的通,如果沒有Ping通過,那說明我們還不能連接到虛擬機器上,因此我們就要手動修改虛擬機上的IP地址,爲了更好的說明,截取一張圖來說明:


設定完後再在本地Ping該虛擬機是否可以Ping通,如果沒有問題,那麼結果大致如下圖所示:

好了,到目前爲止我們已經設定好本地機器和遠程機器的連接了,因此我們可以在遠程啓動Minitor程序了,在虛擬機上啓動msvsmon.exe,當然我們也要把.exe和.pdb文件放到遠程機器上,但是這對於我們來說只不過是本地磁盤之間文件的移動而已。啓動msvsmon.exe後可能會出現以下warning提示:

我們也可以把該Warning關閉,集體設定爲:

“Control Panel” => “administrative tools” => “Local policies Security” => “Security setting” => “Security options” => 將 Network access : Sharing and Security model for local accountsGuest only - local users authenticate as Guest 更改爲 Classic - local users authenticate as themselves.

 

至於本地開發環境的設定跟第一種做法一樣,需要注意的是Remote Server Name中要更改爲虛擬機器中的IP地址就可以了,一切OK後我們按F11,F5就可以進行Debug了,

如果我們設定沒有問題的話,那麼在你按F5後,虛擬系統中msvsmon.exe程序運行界面大概如下:

好了,這樣我們只要在VisualBox中安裝多個OS,就可以隨便調試我們的應用程序了,而不需要進行系統的切換,也不需要麻煩同仁了,真是極爲方便.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章