远程调试可分为:附加到进程与远程Windows调试器两种方式
两种方式区别可简单理解为:
(1)附加到进程:需将本地编译完成后的exe与相关dll拷贝至目标电脑;此方式前提被调试软件可正常打开
(2)远程Windows调试器:配置完部署目录及相关参数后,VS会自动部署相关exe和dll文件,也支持初始化异常等调试
先说明两种方式都需要操作的部分-----示例以内网操作进行说明,文章最后会通过内网穿透工具,远程调试外网电脑
- 拷贝本地msvsmon.exe和相关dll到目标电脑,本地路径为VS2017安装路径(Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger),有x64和x86两个版本,根据需要拷贝对应文件夹即可
- 目标电脑打开msvsmon.exe配置
- 至此,远程msvsmon.exe配置结束
- 远程调试方式一(附加到进程方式)
- 目标电脑打开需调试进程
- 本地电脑vs打开“调试”-->“附加到进程”页面
- 如果是内网,点击查找,会自动检测,选择对应的电脑即可
- 选择需调试的进程,附加即可
- 附加成功后,VS进入调试
- 尽情调试,debug...........
- 远程Windows调试器
- 切换至远程调试器
- 项目属性中配置相关参数--根据调试需要设置(远程服务器名称为 目标电脑IP:端口 )--端口需与之前目标电脑配置的一致
- 勾选部署项目文件(如遇部署勾选框为灰色,则是上一步部署目录未配置引起)
- 至此配置结束,尽情debug........
外网远程调试:由于外网的目标电脑IP无法直接访问,则需要第三方内网穿透工具辅助,本文使用NATAPP进行
- 注册一个账号:https://natapp.cn/register
- 注册完成,登录后,在购买隧道中选择Free
- 免费购买一个
- 购买成功后,在我的隧道中可查看
- 下载对应客户端:https://natapp.cn/#download
- 解压下载文件,在natapp.exe同级目录下,新建一个config.ini文件
- config文件内容---其中authtoken需配置
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
- 在我的隧道中复制authtoken,粘贴至文件对应位置----可参考NATAPP1分钟快速新手图文教程
- 将natapp.exe于config.ini拷贝至目标电脑运行
- server.natappfree.cc---目标电脑IP ,40548---目标电脑端口
- 在连接目标或者属性中配置即可,后续操作参考前面
- 配置结束,尽情debug......