VC++设置远程调试

大多数情况下,程序和IDE都在开发环境中,那么直接debug调试很容易,但是有些情况下,程序在目标机器上运行的环境和开发环境不一样时,出现了程序异常,但是在开发环境却没有问题;还有些是运行环境的问题,开发电脑可能无法真实模拟出实际的运行环境,比如服务器程序,总不可能直接在服务器上开发程序吧?VSIDE都提供有Remote Debug工具,可以方便进行远程的代码调试。

准备工作:两台测试电脑,一台是开发电脑,安装VS2015或VC6.0,另外一台是Window7-32目标系统;调试软件:准备一个简单的MFC对话框程序,这里不考虑Debug调试模式,请使用Release编译好程序。

一、VS2015远程调试

1、拷贝远程调试工具到目标系统
在VS2015安装目录\\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\下有针对不同平台的远程调试工具,将其拷贝到目标系统上,我的是Windows7-32-x86,因此选择x86文件夹;

2、将编译好的程序拷贝到目标系统上
将编译好的程序及其全部所需文件和*.pdb调试信息文件一并拷贝到目标系统上,这里不考虑Debug模式,因为部署不方便;假定程序编译运行在Release调试模式下,如何设置Release调试模式,请参考本目录下另外一篇文章:https://my.oschina.net/u/3489228/blog/1540170

3、设置并运行远程调试工具
在远程调试工具目录下找到程序msvsmon.exe,使用管理员权限启动程序;
打开菜单>工具>选项;按照下图进行设置:
003641_TzZi_3489228.png

4、启动调试程序
在目标系统上启动调试程序。这里未必能真正的启动,可能还需要一些VC++的部署环境。VS2015的安装目录\\Microsoft Visual Studio 14.0\VC\redist\中存放有不同平台的部署文件,1033目录下存放的是各平台下的安装文件,将\\1033\vcredist_x86.exe文件拷贝到目标系统上进行安装,成功安装的话应该就能启动程序了,如果还不行,先检查是否为Debug模式,或仔细看看系统提示。到此为止,目标系统已准备就绪。

5、启动远程调试
打开VS2015菜单>调试>附加到进程,按照下图进行设置:
004811_7EFu_3489228.png
选择远程(无身份验证)模式,在限定符栏输入目标系统的IP地址,4020是目标系统接收的端口号,然后点击查找,如果一切顺利的话,就能看见目标系统的连接状态,然后确定选择,再点击刷新按钮,就能看见目标系统上的进程列表了,从其中选择要调试的目标程序,选择附加会自动启动远程调试。
如果无法连接到目标系统,请先使用ping命令互相访问两台电脑,要使用远程调试,必须先保证两台电脑可以相互ping通。可以从下面的方面来着手解决:
A、开启必要的系统服务
请确保目标系统上已经开启了这些服务:SSDP Discovery、UPnP Device Host、Computer Browser、Server、DNS Client、TCP/IP NetBIOS Helper、Function Discovery Resource Publication。
B、在目标系统启用网络发现和文件共享
打开网络和共享中心,选择更改高级共享设置:
010638_uG3I_3489228.png
启用网络发现和文件共享:
010712_qsKJ_3489228.png
C、目标系统开启远程桌面连接
010106_8TvQ_3489228.png

6、部署远程调试
打开项目属性>调试,按照下图所示进行远程调试设置:
015538_DsyB_3489228.png
这里远程命令,工作目录,部署目录都是指目标系统上的路径,远程服务器名称需要加上端口号,附加选项如果选【是】就需要在目标系统启动程序,选【否】在本地就可以启动程序;其他部署文件加上pdb文件,这样就不用每次都去拷贝;部署VC++调试运行库也要勾选上,IDE会自动将所需文件自动部署到远端。
现在已经配置完毕,下一步就是将全部文件部署到目标系统:在项目上点鼠标右键,选择【部署】,之后就可以从这里点击开始远程调试啦!
015801_8BuS_3489228.png

二、VC6.0远程调试

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

注意事项:为保证目标系统和开发系统上的程序和pdb文件一致,每次重新生成程序之后都需要将新的程序和pdb文件拷贝到目标系统,否则将无法进行调试,编译器每次生成的程序和pdb都会被认为是不同的程序。

转载于:https://my.oschina.net/u/3489228/blog/1540224

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值