当前位置: 首页 > news >正文

Visual Studio 2022 远程调试

Visual Studio 2022 远程调试全过程

这篇文章尽可能地精细记录如何使用 Visual Studio 2022 完成 Windows 系统上的远程调试。适用场景包括本地编译,远程运行,两台机器分工合作调试。


一、设备网络通信环境

1.1 确保两台设备通信

  • 本地设备: 安装 Visual Studio 2022
  • 远程设备: 应能运行程序,支持进程启动

1.2 设置同一个网段

本地设备:
在这里插入图片描述
在这里插入图片描述

远程设备:

在这里插入图片描述

1.3 测试 Ping

在本地 CMD 中输入:

ping 192.168.0.20
  • 如果返回 TTL=值表示通信
  • 若返回 超时,确保远程机器已打开 ICMP

在这里插入图片描述


二、设置共享文件夹

2.1 创建文件夹

在远程设备上创建:

D:\Servo\Debug

2.2 启用共享访问

  1. 右键 -> 属性 -> 共享
  2. 指定共享名: Servo
  3. 添加您本地设备上的 Windows 账户(如: Darker
  4. 确认账户并分配权限为 “读写”

在这里插入图片描述
在这里插入图片描述

2.3 测试 UNC 路径访问

在本地设备文件夹输入:

\\192.168.0.20\Servo\Debug

如能正常显示,则设置成功

在这里插入图片描述


三、部署 Remote Debugger (msvsmon)

有两种方式安装 Remote Debugger:

3.1 方式 1: 复制 VS 本地带的 msvsmon.exe

  1. 本地路径:
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger\x64

在这里插入图片描述

  1. 将全部文件夹复制到远程设备,如:
D:\Servo\RemoteDebugger\

在这里插入图片描述

  1. 运行 msvsmon.exe

在这里插入图片描述

  1. 首次启动选择:

    • 配置远程调试
    • 无身份验证 (快捷模式)
    • 确认 Windows 防火墙已放行 TCP 4026

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 方式 2: 从官网下载 Remote Tools 安装(旧版本需要有订阅)

  1. 打开官方下载页面:
    https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging
    https://visualstudio.microsoft.com/zh-hans/downloads/?cid=learn-onpage-download-cta

  2. 选择系统平台:

    • AMD64 (大部分 Windows 操作系统)
    • x86 或 ARM64 根据需求

在这里插入图片描述

  1. 安装后,运行:
Remote Debugger

在这里插入图片描述

  1. 配置步骤和 msvsmon.exe 相同:

    • 连接类型:Windows 身份验证 / 无身份
    • 防火墙放行端口

四、Visual Studio 配置

4.1 调试模式切换

  1. 项目上方 “运行” 按钮旁边 -> 选择 【远程 Windows 调试器】

在这里插入图片描述

4.2 设置项目属性 -> 调试

项目设置值
调试器远程 Windows 调试器
远程命令\\DESKTOP-IODBVIQ\Servo\Debug\Servo.exe
工作目录\\DESKTOP-IODBVIQ\Servo\Debug
远程服务器DESKTOP-IODBVIQ
连接方式带 Windows 身份验证

在这里插入图片描述

4.3 生成后事件: 自动备份到远程

输入:

xcopy /Y /D "$(OutDir)*.exe" "\\DESKTOP-IODBVIQ\Servo\Debug\"
xcopy /Y /D "$(OutDir)*.pdb" "\\DESKTOP-IODBVIQ\Servo\Debug\"
  • $(OutDir) 是 Debug 输出目录,例如 D:\Project\x64\Debug\
  • 确保目标文件夹存在

在这里插入图片描述


五、启动远程调试

  1. 运行远程设备上 msvsmon.exe
  2. 本地 Visual Studio 点 F5
  3. 如果配置无误,将自动启动远程程序,并可以打断点

在这里插入图片描述


附录: 常见问题检查

问题原因或解决方案
“Z:\Debug” 不是有效目录UNC 路径不支持转换成盘符,请使用 \\host\path
xcopy 报错 MSB3073路径有误,或 target dir 未共享或访问被拒绝
msvsmon 运行后未监听未配置或防火墙未放行端口 (4026)

结论

远程调试是 VS2022 的高级性能,特别适合开发和运行分离的环境。

相关文章:

  • C++字符串操作 2024年信息素养大赛复赛 C++小学/初中组 算法创意实践挑战赛 真题详细解析
  • 蓝桥杯嵌入式第十一届省赛真题
  • `RotationTransition` 是 Flutter 中的一个动画组件,用于实现旋转动画效果
  • 仓库管理系统,Java+Vue,含源码及文档,高效管理仓库物资,实现入库、存储、出库全流程数字化精准管控
  • 睿思量化小程序
  • Redis 哨兵
  • AI 入门资源:微软 AI-For-Beginners 项目指南
  • #Redis黑马点评#(四)优惠券秒杀
  • 基于定制开发开源AI智能名片S2B2C商城小程序的公私域流量融合运营策略研究
  • mac u盘重装mac10.15Catalina系统
  • 【递归、搜索和回溯】二叉树中的深搜
  • 绑定 SSH key(macos)
  • 《Python星球日记》 第51天:神经网络基础
  • JS较底层的用法,几类简单介绍
  • HTTP/2概览及内核解析
  • IPFS与去中心化存储:重塑数字世界的基石
  • BGP邻居建立
  • Redis-x64-3.0.500
  • rt-thread+STM32H7移植lwip出现问题解决方法
  • Spark MLlib网页长青
  • 佩斯科夫:俄会考虑30天停火提议,但试图对俄施压无用
  • 新华时评:中国维护国际经贸秩序的立场坚定不移
  • 巴西总统卢拉将访华
  • 网络主播直播泄机密,别让这些“小事”成威胁国家安全的“突破口”
  • 胖东来发布和田玉、翡翠退货说明:不扣手续费等任何费用
  • 趣看 | 五一黄金周:你拍风景,拍风景的人在拍你