VS遠程調試

背景:

    有時候遇到客戶的機器上發現的問題,但本地無法復現,僅憑現象很難分析,此時就需要使用VS的遠程調試,可以做到使用本地代碼調試客戶機的程序。

    下面,以VS2010爲例,介紹一下VS遠程調試客戶端程序的方法。

準備:

(1)保證本地代碼和遠程機器的軟件版本對應的代碼一致;

(2)若是release調試,需要設置調試環境(調試信息格式/優化/生成調試信息);

(3)關閉遠程計算機的防火牆;

步驟:

第一步,目標機器上的配置:

(1)將Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger 拷貝到目標計算機中,位置隨意;

(2)在目標電腦上以管理員身份運行msvsmon.exe,在【工具】->【選項】中設置爲【無身份驗證(僅限本機)】;



第二步,本地調試的準備:

有兩種方式,均可。

方式一:通過本地代碼直接啓動遠程電腦的exe調試

A:將本地pdb文件拷貝到目標電腦的exe同目錄下(也可以是其他指定的符號路徑);

B:將本地代碼生成的的exe替換到遠程機器中(替換前注意備份),調用的DLL還是目標計算機上的DLL;

C:設置本地開發環境的啓動工程項的【配置屬性】->【調試】,類似下圖所示:


其中,遠程命令是遠程電腦exe的全路徑,工作目錄是exe所在目錄,遠程服務器名稱爲IP地址,可爲局域網地址,也可爲外網IP;


方式二:本地附加遠程電腦的進程調試

A:在目標電腦上運行exe;

B:在本地VS中打開【調試】->【附加到進程】界面;

C:配置界面,類似下圖:


其中,【傳輸】選擇遠程,【限定符】輸入客戶端電腦的IP地址,然後點擊【刷新】按鈕;

D:在刷新出來的進程列表中選擇要附加的進程即可;

 

注意,附加到進程調試也需要將PDB文件拷到遠程的機器中,若遠程電腦的進程列表已經刷出,但附加時提示找不到,檢查遠程電腦的msvsmon.exe是否以管理員權限運行;


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