VS2017远程调试详解(内网、外网)
远程调试可分为:附加到进程与远程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......
VS2017远程调试详解(内网、外网)相关推荐
- Goland+dlv远程调试详解
最近白嫖了一个阿里云的服务器,正好也在用Go写一个简单的后端项目,所以就想着试一下Goland的远程调试.用到的工具: Goland2021.3.2 go-delve(GitHub - go-delv ...
- BT下载教程之UPnP功能使用、BT端口映射、内网外网之完全解析
以下是微软官方网站对UPnP的解释: 问:什么是 UpnP? 答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中.UPnP 以 Int ...
- 三层内网 外网打点到内网域 sec123 复现
文章目录 三层内网 外网打点到内网域 sec123 复现 项目介绍 网络配置图 环境搭建 账号和密码 外网打点 端口扫描 网上银行系统漏洞 网上银行系统Hsql注入漏洞 tomexam SQL注入漏洞 ...
- eclipse调试详解
eclipse调试详解 作者: 高州人家 来源: 网络转载 浏览: 1610 次 好评: 0分 [ 小 中 大 ] 2007-11-16 本地调试 Java 调试器具有客户机/服务器设计, ...
- java vm 远程监控配置文件_Java VisualVM监控远程JVM(详解)
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...
- creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器
Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...
- Android/Linux设备有线无线 双网共存(同时上内、外网)
目录 Shell脚本实现嵌入式Android/Linux有线和无线网卡双网共存 一.网络环境及问题再现 二.命令行方式实现双网共存 实现结果: 三.Shell脚本自动实现双网共存(根据网络环境动态配置 ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- 远程服务器如何创建分支,Git 创建分支提交远程分支详解
搜索热词 Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随 ...
最新文章
- 线性回归算法原理简介
- javascript 对象详解
- oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移
- python 离线翻译软件_AI赋能翻译,讯飞这个设备轻松搞定国际交流
- Azure App Service 如何在第一时间用上最新版 .NET Core
- jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
- 贪心思维 专题记录 2017-7-21
- json转excel_手写JAVA实现个性化业务的Excel转JSON,效率提高99.99%
- java程序效率_优化JAVA程序的执行效率和性能
- Android九宫格连线解锁-自定义View系列(9)
- 如何用c语言强制删除文件夹,c++ - 使用C ++在Windows上强制删除文件 - 堆栈内存溢出...
- html弹窗确认取消公告代码,javascript实现确定和取消提示框效果
- [转]被历史歪曲得最多的皇帝--隋炀帝杨广简介
- PVM振动测量2018~2020调研整理
- Python调用华为API进行图像标签
- Redis:字符串INCR、INCRBY、INCRBYFLOAT、DECR、DECRBY命令介绍
- java interface 函数_Java8 函数式接口(Functional Interface),有且仅有一个抽象方法...
- matlab 双纵坐标图的绘制
- NeurIPS 2022 | 最强斗地主AI!网易互娱AI Lab提出基于完美信息蒸馏的方法
- 【华为诺亚方舟实验室】招聘:决策推理(强化学习)研究方向(实习、应届、社招、博后)均可以
热门文章
- 网络安全——身份认证与PKI原理
- 为什么css文件是.main,页面无法加载main.css
- Nature综述:应对新出现的抗真菌耐药性对人类健康的威胁
- java怎么用md5加密数据_JAVA 如何使用 MD5 和SHA1进行数据加密
- [新版系统]软件著作权登记申请流程及注意事项
- linux怎么判断网络是否正常运行,Linux shell脚本判断服务器网络是否可以上网
- 蘑菇街实时计算平台-起源篇
- 从零开始用人工智能预测股票(一、特征选取)
- 多系统安装U盘、移动硬盘及多系统引导探索实战摸索
- 使用idea集成SSJ框架