VC++設置遠程調試

大多數狀況下,程序和IDE都在開發環境中,那麼直接debug調試很容易,可是有些狀況下,程序在目標機器上運行的環境和開發環境不同時,出現了程序異常,可是在開發環境卻沒有問題;還有些是運行環境的問題,開發電腦可能沒法真實模擬出實際的運行環境,好比服務器程序,總不可能直接在服務器上開發程序吧?VSIDE都提供有Remote Debug工具,能夠方便進行遠程的代碼調試。redis

準備工做:兩臺測試電腦,一臺是開發電腦,安裝VS2015或VC6.0,另一臺是Window7-32目標系統;調試軟件:準備一個簡單的MFC對話框程序,這裏不考慮Debug調試模式,請使用Release編譯好程序。服務器

1、VS2015遠程調試網絡

一、拷貝遠程調試工具到目標系統
在VS2015安裝目錄\\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\下有針對不一樣平臺的遠程調試工具,將其拷貝到目標系統上,個人是Windows7-32-x86,所以選擇x86文件夾;工具

二、將編譯好的程序拷貝到目標系統上
將編譯好的程序及其所有所需文件和*.pdb調試信息文件一併拷貝到目標系統上,這裏不考慮Debug模式,由於部署不方便;假定程序編譯運行在Release調試模式下,如何設置Release調試模式,請參考本目錄下另一篇文章:http://www.javashuo.com/article/p-aywxizio-md.html測試

三、設置並運行遠程調試工具
在遠程調試工具目錄下找到程序msvsmon.exe,使用管理員權限啓動程序;
打開菜單>工具>選項;按照下圖進行設置:
.net

四、啓動調試程序
在目標系統上啓動調試程序。這裏未必能真正的啓動,可能還須要一些VC++的部署環境。VS2015的安裝目錄\\Microsoft Visual Studio 14.0\VC\redist\中存放有不一樣平臺的部署文件,1033目錄下存放的是各平臺下的安裝文件,將\\1033\vcredist_x86.exe文件拷貝到目標系統上進行安裝,成功安裝的話應該就能啓動程序了,若是還不行,先檢查是否爲Debug模式,或仔細看看系統提示。到此爲止,目標系統已準備就緒。debug

五、啓動遠程調試
打開VS2015菜單>調試>附加到進程,按照下圖進行設置:

選擇遠程(無身份驗證)模式,在限定符欄輸入目標系統的IP地址,4020是目標系統接收的端口號,而後點擊查找,若是一切順利的話,就能看見目標系統的鏈接狀態,而後肯定選擇,再點擊刷新按鈕,就能看見目標系統上的進程列表了,從其中選擇要調試的目標程序,選擇附加會自動啓動遠程調試。
若是沒法鏈接到目標系統,請先使用ping命令互相訪問兩臺電腦,要使用遠程調試,必須先保證兩臺電腦能夠相互ping通。能夠從下面的方面來着手解決:
A、開啓必要的系統服務
請確保目標系統上已經開啓了這些服務:SSDP Discovery、UPnP Device Host、Computer Browser、Server、DNS Client、TCP/IP NetBIOS Helper、Function Discovery Resource Publication。
B、在目標系統啓用網絡發現和文件共享
打開網絡和共享中心,選擇更改高級共享設置:

啓用網絡發現和文件共享:

C、目標系統開啓遠程桌面鏈接
調試

六、部署遠程調試
打開項目屬性>調試,按照下圖所示進行遠程調試設置:

這裏遠程命令,工做目錄,部署目錄都是指目標系統上的路徑,遠程服務器名稱須要加上端口號,附加選項若是選【是】就須要在目標系統啓動程序,選【否】在本地就能夠啓動程序;其餘部署文件加上pdb文件,這樣就不用每次都去拷貝;部署VC++調試運行庫也要勾選上,IDE會自動將所需文件自動部署到遠端。
如今已經配置完畢,下一步就是將所有文件部署到目標系統:在項目上點鼠標右鍵,選擇【部署】,以後就能夠從這裏點擊開始遠程調試啦!
blog

2、VC6.0遠程調試進程

參考文章:http://blog.csdn.net/greatsong/article/details/5416214

注意事項:爲保證目標系統和開發系統上的程序和pdb文件一致,每次從新生成程序以後都須要將新的程序和pdb文件拷貝到目標系統,不然將沒法進行調試,編譯器每次生成的程序和pdb都會被認爲是不一樣的程序。

相關文章
相關標籤/搜索