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都会被认为是不一样的程序。

相关文章
相关标签/搜索