从 0 到 1 学习 Visual Studio Debug 之五:远程调试


prtyaa
prtyaa 2023-12-25 16:09:40 51271
分类专栏: 资讯

有阵子没有更新这个主题,可能让大家误认为已经结束了,其实除了这一篇,后续还会有一些。

还是尽量本着善始善终的原则,我要把这个主题给讲完,并且在结束的时候一定会让大家知道的。

通过大家的反馈来看,这个系列确实也帮助到了不少的人,另外我自己在这个过程中,也对 VS Debug 的使用有了更加系统的认识。

其实,VS Debug 的功能很多,多的超乎想象,所以有很多平时不太常用的功能我就不在这里介绍了,写进教程中的都是我和周围的人在日常工作中能够经常使用到的功能。

 

本次教程介绍 VS 的远程调试方法(C++)。

什么是远程调试?

我们平时,特别是自学的新手在刚一开始的时候,都是本地编译、本地调试,本机编译好的程序就直接在本机执行。

但是有些情况下,你本机编译好的程序,需要放到另一台机器(目标机)上运行。

此时,你可以在本地的 VS 环境中,对运行在目标机上的程序进行 远程调试。

C# 项目和 ASP.NET web 服务器的远程调试方法略有不同,本文不做讲解。

 

 

 

1. 原理

 

目标机:

负责执行目标程序。安装和运行远程工具 (Remote Debugger),等待来自开发机的连接请求。

开发机:

将编译好的程序部署到目标机器上执行。配置 VS 工程,建立与目标机的连接,开始远程调试。

 

 

 

2. 环境要求

目标机必须满足:

Windows 7 以后或者 Windows Server 2008 Service Pack 2 以后。

网络必须满足:

目标机和开发机必须通过网络、工作组、家庭组连接,或者通过网线直连。不支持 Internet 连接。

 

 

 

3. 安装 Remote Debugger

首先,要在目标机器上安装远程调试工具,有两种方法。

方法一:

从微软官网下载远程工具。

注意,一定要安装与 VS 版本和目标机操作系统匹配的远程工具。

例如,你用的是 VS2017,就要下载 VS2017 版的远程工具,另外,还要考虑目标机操作系统位数,是 32 位就要安装 32 位远程工具,是 64 位就要安装 64 位远程工具。

下载地址从这里找吧:

Remote debugging in Visual Studio

方法二:

这是一个更为简单的方法。

在你本地的 VS 安装目录下找到 msvsmon.exe,此文件就是 Remote Debugger。

它的位置在:

Program Files\Microsoft Visual Studio 15.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe
Program Files\Microsoft Visual Studio 15.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

可以共享该目录,在目标机上直接运行 Share Folder 中的 msvsmon.exe 即可。

也可以把 msvsmon.exe 所在的整个目录 Copy 到目标机上。

这里同样需要注意,要与目标机的操作系统位数匹配。

 

 

 

4. 配置 Remote Debugger

这一步还是在目标机上。

所在登陆账户,一定要拥有管理员权限。

打开安装好的 Remote Debugger (msvsmon.exe),首次打开时,会出现配置窗口,提醒配置一些参数。

只需要配置一次,再次打开时,不会弹出该窗口。

 

如果你不清楚你的网络连接方式,比较保险的做法是把所有框都勾选上。

点击配置远程调试按钮之后,会出现如下窗口,代表 Remote Debugger 正在等待来自开发机的连接。

 

这里可以点击 Tools > Options 菜单,做一些额外的参数配置。

 

有时可能会由于防火墙或者认证等原因,导致连接不上的问题,最极端的方法是完全关闭它们。虽然官方出于安全考虑,并不建议这么做。

假如你确定网络没有任何风险,那么可以关闭两边机器的防火墙。上面窗口中,也可以选择无认证方式。

最大空闲时间设置为 0 代表永远不会超时,一直处于等待状态。

TCP/IP 端口号这里默认给出的是 4022,你可以更改,但一般无需这样做。

关于默认端口号,不同的 VS 版本,是不同的,具体如下。

 

 

 

5. 配置 VS 工程

这一步是对开发机的配置。

在 VS 工程中,打开项目属性,点击调试选项卡,切换到远程 Windows 调试器。

对列出的一些参数进行配置。

 

这里:

C:\remotetemp\mymfc.exe 为目标机上需要执行的程序。

如果要带参数的话,可以在远程命令参数中配置。

C:\remotetemp 为目标机可执行程序所在的目录。

DDXVM6812 为目标机器名称。

如果在目标机 Remote Debugger 中设置了无认证的连接方式,这里同样要选则无认证的远程访问。

配置好后,点击确定。

 

 

 

6. 开始远程调试

将本地机器 VS 编译好的可执行程序部署到目标机上。

一切就绪之后,就可以开启远程调试了。

 

在 VS 工程中想要查看的代码处设置断点,然后点击上方的远程调试器,即可建立与目标机的连接。

注意,此时目标机上的 Remote Debugger 一定要处于等待连接状态。

连接之后,目标机上的 Remote Debugger 显示已连接,可执行程序开始在目标机上运行。

开发机上 VS 中的断点将被击中,此时就可以开始远程调试了,操作跟本地调试没有差别。

 

远程调试的步骤基本就这些,希望能给大家理清了思路。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30598
赞同 0
评论 0 条
prtyaaL2
粉丝 1 发表 2553 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2959
【软件正版化】软件正版化工作要点  2878
统信UOS试玩黑神话:悟空  2843
信刻光盘安全隔离与信息交换系统  2737
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1270
grub引导程序无法找到指定设备和分区  1235
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
点击报名 | 京东2025校招进校行程预告  164
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!