当前位置: 首页 > 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 的高级性能,特别适合开发和运行分离的环境。

http://www.xdnf.cn/news/374455.html

相关文章:

  • 【字符函数和字符串函数】
  • 类加载机制详解:双亲委派模型与打破它的方式
  • 服务器机架的功能和重要性
  • 遗传算法组卷系统实现(Java版)
  • Linux平台下SSH 协议克隆Github远程仓库并配置密钥
  • Unity.UGUI DrawCall合批笔记
  • Unity Shaders and Effets Cookbook
  • LeetCode 热题 100 138. 随机链表的复制
  • 关键点检测--使用YOLOv8对Leeds Sports Pose(LSP)关键点检测
  • 数学相关使用笔记
  • libbpf.c:46:10: fatal error:‘libelf.h file not found
  • SpringCloud之Eureka基础认识-服务注册中心
  • 使用lldb查看Rust不同类型的结构
  • Java与Go语言对比教程
  • 【计算机视觉】优化MVSNet可微分代价体以提高深度估计精度的关键技术
  • Python_day21
  • 深度学习中的目标检测:从 PR 曲线到 AP
  • 常见音频主控芯片以及相关厂家总结
  • SSM框架整合MyBatis-Plus的步骤和简单用法示例
  • LLM大模型入门知识概念
  • 小米创业思考——阅读小记
  • MySQL 中如何进行 SQL 调优?
  • 数据库连接池
  • 04 mysql 修改端口和重置root密码
  • 图像处理篇--- HTTP|RTSP|MJPEG视频流格式
  • MindSpore框架学习项目-ResNet药物分类-模型优化
  • 对话 BitMart 新任 CEO Nenter (Nathan) Chow:技术创新、全球扩张和社区赋能
  • Jsp技术入门指南【十二】自定义标签
  • 内存安全暗战:从 CVE-2025-21298 看 C 语言防御体系的范式革命
  • vim 查看复杂的宏扩展