远程调试可分为:附加到进程与远程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配置结束
  1. 远程调试方式一(附加到进程方式)
  • 目标电脑打开需调试进程
  • 本地电脑vs打开“调试”-->“附加到进程”页面
  • 如果是内网,点击查找,会自动检测,选择对应的电脑即可
  • 选择需调试的进程,附加即可
  • 附加成功后,VS进入调试
  • 尽情调试,debug...........
  1. 远程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......

VS2017远程调试详解(内网、外网)相关推荐

  1. Goland+dlv远程调试详解

    最近白嫖了一个阿里云的服务器,正好也在用Go写一个简单的后端项目,所以就想着试一下Goland的远程调试.用到的工具: Goland2021.3.2 go-delve(GitHub - go-delv ...

  2. BT下载教程之UPnP功能使用、BT端口映射、内网外网之完全解析

    以下是微软官方网站对UPnP的解释: 问:什么是 UpnP? 答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中.UPnP 以 Int ...

  3. 三层内网 外网打点到内网域 sec123 复现

    文章目录 三层内网 外网打点到内网域 sec123 复现 项目介绍 网络配置图 环境搭建 账号和密码 外网打点 端口扫描 网上银行系统漏洞 网上银行系统Hsql注入漏洞 tomexam SQL注入漏洞 ...

  4. eclipse调试详解

    eclipse调试详解 作者: 高州人家 来源: 网络转载 浏览: 1610 次 好评: 0分 [ 小 中 大 ] 2007-11-16 本地调试     Java   调试器具有客户机/服务器设计, ...

  5. java vm 远程监控配置文件_Java VisualVM监控远程JVM(详解)

    我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...

  6. creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器

    Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...

  7. Android/Linux设备有线无线 双网共存(同时上内、外网)

    目录 Shell脚本实现嵌入式Android/Linux有线和无线网卡双网共存 一.网络环境及问题再现 二.命令行方式实现双网共存 实现结果: 三.Shell脚本自动实现双网共存(根据网络环境动态配置 ...

  8. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  9. 远程服务器如何创建分支,Git 创建分支提交远程分支详解

    搜索热词 Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随 ...

最新文章

  1. 线性回归算法原理简介
  2. javascript 对象详解
  3. oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移
  4. python 离线翻译软件_AI赋能翻译,讯飞这个设备轻松搞定国际交流
  5. Azure App Service 如何在第一时间用上最新版 .NET Core
  6. jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
  7. 贪心思维 专题记录 2017-7-21
  8. json转excel_手写JAVA实现个性化业务的Excel转JSON,效率提高99.99%
  9. java程序效率_优化JAVA程序的执行效率和性能
  10. Android九宫格连线解锁-自定义View系列(9)
  11. 如何用c语言强制删除文件夹,c++ - 使用C ++在Windows上强制删除文件 - 堆栈内存溢出...
  12. html弹窗确认取消公告代码,javascript实现确定和取消提示框效果
  13. [转]被历史歪曲得最多的皇帝--隋炀帝杨广简介
  14. PVM振动测量2018~2020调研整理
  15. Python调用华为API进行图像标签
  16. Redis:字符串INCR、INCRBY、INCRBYFLOAT、DECR、DECRBY命令介绍
  17. java interface 函数_Java8 函数式接口(Functional Interface),有且仅有一个抽象方法...
  18. matlab 双纵坐标图的绘制
  19. NeurIPS 2022 | 最强斗地主AI!网易互娱AI Lab提出基于完美信息蒸馏的方法
  20. 【华为诺亚方舟实验室】招聘:决策推理(强化学习)研究方向(实习、应届、社招、博后)均可以

热门文章

  1. 网络安全——身份认证与PKI原理
  2. 为什么css文件是.main,页面无法加载main.css
  3. Nature综述:应对新出现的抗真菌耐药性对人类健康的威胁
  4. java怎么用md5加密数据_JAVA 如何使用 MD5 和SHA1进行数据加密
  5. [新版系统]软件著作权登记申请流程及注意事项
  6. linux怎么判断网络是否正常运行,Linux shell脚本判断服务器网络是否可以上网
  7. 蘑菇街实时计算平台-起源篇
  8. 从零开始用人工智能预测股票(一、特征选取)
  9. 多系统安装U盘、移动硬盘及多系统引导探索实战摸索
  10. 使用idea集成SSJ框架