WMDebugger for VS Code
在 VS Code 中连接 WMDebugger Server,远程调试正在运行的 Unity 游戏客户端。
扩展将完整的 WMDebugger 调试界面打开在编辑器标签页中,可用于查看实时日志、场景层级、GameObject 与组件、运行时对象、画面预览和性能数据,也支持项目配置的 GM 命令、日志分析与 AI 调试功能。
使用前准备
VS Code 扩展只是调试界面,不包含 WMDebugger Server,也不会自动修改 Unity 工程。使用前请先完成:
- 使用 Release 中的
wm-debugger-server.tar 启动并初始化 Server。
- 将
com.wm.debugger.zip 解压到 Unity 工程的 Packages/com.wm.debugger。
- 在 Unity 中调用
WMDebugger.Debugger.Start(...),连接到同一个 Server。
- 启动 Unity Editor Play Mode 或已接入 WMDebugger 的游戏客户端。
Server 和 Unity 的完整配置方式请查看项目 README。
安装扩展
WMDebugger 当前通过 GitHub Release 提供 VSIX 文件,需要手动安装。
- 打开 WMDebugger Releases。
- 下载
wmdebugger-<version>.vsix,例如 wmdebugger-0.2.2.vsix。
- 在 VS Code 中打开“扩展”页面。
- 点击扩展页面右上角的
...,选择“从 VSIX 安装...”。
- 选择下载的 VSIX;如果 VS Code 提示重新加载窗口,请按提示操作。
要求 VS Code 1.85.0 或更高版本。
也可以在命令行中安装:
code --install-extension wmdebugger-<version>.vsix
打开 WMDebugger
安装后可通过任意一种方式打开:
- 打开命令面板,执行
WMDebugger: 打开调试器
- Windows / Linux 按
Ctrl+Shift+D
- macOS 按
Cmd+Shift+D
- 点击编辑器标题栏中的 WMDebugger 图标
扩展只会保留一个 WMDebugger 标签页;重复执行命令会回到已有标签页。
Ctrl+Shift+D 可能与 VS Code 自带的“运行和调试”快捷键冲突。需要修改时,打开“首选项 → 键盘快捷方式”,搜索 WMDebugger: 打开调试器 并重新绑定。
连接 Server
在“选择目标服务器”页面输入完整地址:
http://127.0.0.1:5800
远程 HTTPS Server 示例:
https://debug.example.com:5801
点击“新增”,将地址保存到当前扩展中。
在服务器列表中点击“进入”,扩展才会连接该 Server。
Server 已初始化时会进入客户端列表;尚未初始化时会进入 RSA 私钥初始化页面。
选择已经运行并连接到该 Server 的 Unity 客户端开始调试。
Server 地址必须包含 http:// 或 https://。端口应填写 Docker 暴露到宿主机的实际端口,而不是在反向代理之后不可访问的容器内部端口。
新增 Server 只保存地址,不会立即进入。最近进入的 Server 会在下次打开扩展时自动尝试连接。
主要功能
- 实时查看、过滤 Unity 日志、警告和错误
- 查看实时画面、Scene 层级、GameObject 和组件信息
- 浏览运行时对象、集合、字段、属性和方法
- 在确认后修改可写数据或调用可用方法
- 查看帧率、内存、GC、帧耗时和卡顿信息
- 浏览 PlayerPrefs、目录与应用信息
- 执行项目接入的 GM 命令
- 在 Unity 客户端允许时模拟 UGUI 点击和拖拽
- 使用项目配置的打点分析、离线日志分析和 AI 调试
具体功能取决于 WMDebugger Server、Unity Package 版本以及 Unity 项目的接入配置。建议三端使用同一个 Release 中的版本。
安全说明
WMDebugger 可以修改 Unity 客户端状态、调用运行时方法、执行 GM 命令和模拟输入,属于高权限调试工具。
- 不要将 Server 直接暴露到公网。
- 远程使用时应启用 HTTPS,并通过 VPN、防火墙或带访问控制的反向代理限制访问。
- Server 当前不提供用户账号或访问令牌认证。
- 只在开发、测试或明确授权的诊断环境中连接目标客户端。
常见问题
无法进入 Server
在能够运行 VS Code 的机器上检查:
curl http://127.0.0.1:5800/health
如果请求失败,请检查 Server 地址、Docker 端口映射、防火墙、HTTPS 证书和反向代理的 WebSocket 配置。
Server 可以进入,但没有 Unity 客户端
确认 Unity 已调用 WMDebugger.Debugger.Start(...),并检查以下内容:
- Unity 设备能够访问 Server 主机和端口
serverHttps 与 Server 协议一致
serverPublicKey 与当前 Server 公钥一致
- 游戏进程仍在运行,且没有被防火墙阻止 WebSocket 连接
提示 Server 尚未初始化
首次部署的正常状态。选择未加密的 RSA PEM 私钥完成初始化,然后到“设置 → 服务配置 → Server 身份认证”复制公钥并配置到 Unity。
快捷键没有打开 WMDebugger
Ctrl+Shift+D 可能已被其他命令占用。请从命令面板直接执行 WMDebugger: 打开调试器,或在键盘快捷方式页面重新绑定。
如何更新扩展
从最新 Release 下载新的 wmdebugger-<version>.vsix,再次选择“从 VSIX 安装...”覆盖安装,然后按提示重新加载 VS Code。