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 启用共享访问
- 右键 -> 属性 -> 共享
- 指定共享名:
Servo
- 添加您本地设备上的 Windows 账户(如:
Darker
) - 确认账户并分配权限为 “读写”
2.3 测试 UNC 路径访问
在本地设备文件夹输入:
\\192.168.0.20\Servo\Debug
如能正常显示,则设置成功
三、部署 Remote Debugger (msvsmon)
有两种方式安装 Remote Debugger:
3.1 方式 1: 复制 VS 本地带的 msvsmon.exe
- 本地路径:
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger\x64
- 将全部文件夹复制到远程设备,如:
D:\Servo\RemoteDebugger\
- 运行
msvsmon.exe
-
首次启动选择:
- 配置远程调试
- 无身份验证 (快捷模式)
- 确认 Windows 防火墙已放行 TCP 4026
3.2 方式 2: 从官网下载 Remote Tools 安装(旧版本需要有订阅)
-
打开官方下载页面:
https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging
https://visualstudio.microsoft.com/zh-hans/downloads/?cid=learn-onpage-download-cta -
选择系统平台:
- AMD64 (大部分 Windows 操作系统)
- x86 或 ARM64 根据需求
- 安装后,运行:
Remote Debugger
-
配置步骤和 msvsmon.exe 相同:
- 连接类型:Windows 身份验证 / 无身份
- 防火墙放行端口
四、Visual Studio 配置
4.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\
- 确保目标文件夹存在
五、启动远程调试
- 运行远程设备上
msvsmon.exe
- 本地 Visual Studio 点 F5
- 如果配置无误,将自动启动远程程序,并可以打断点
附录: 常见问题检查
问题 | 原因或解决方案 |
---|---|
“Z:\Debug” 不是有效目录 | UNC 路径不支持转换成盘符,请使用 \\host\path |
xcopy 报错 MSB3073 | 路径有误,或 target dir 未共享或访问被拒绝 |
msvsmon 运行后未监听 | 未配置或防火墙未放行端口 (4026) |
结论
远程调试是 VS2022 的高级性能,特别适合开发和运行分离的环境。