Unity 远程调试配置
November 17, 2024About 1 min
Unity 远程调试配置
要在打出来的 Build 上断点调试 C#,核心是两件事:Build 时打开调试选项;Visual Studio 挂到这个运行中的 Build 上。
Unity 侧:出一个可调试的 Build
两种方式都行。
手动勾选
打开 File → Build Settings,勾上 Development Build 和 Script Debugging,再 Build。没勾这两项的 Release 包是没法挂调试器的。
命令行 Build
用脚本自动打包时,调用 BuildPipeline.BuildPlayer,在 BuildPlayerOptions 的 options 里传:
BuildOptions.Development | BuildOptions.AllowDebugging
这等价于界面上勾的那两项。完整的选项枚举见 UnityEditor.BuildOptions。打包脚本可以通过命令行参数从外部触发。
Visual Studio 侧:挂上去
先在 Visual Studio Installer 里装好 Visual Studio Tools for Unity 工作负载,否则没有挂载入口。
装好后打开 Debug → Attach Unity Debugger,会列出当前能发现的 Build 实例,选目标那个就能下断点。如果列表里没有(比如 Build 跑在另一台机器上),点 Input IP 手动填地址和端口。
怎么找调试用的 IP 和端口
- IP:运行 Build 那台机器的 IPv4 地址。
- 端口:写在
Player.log里。
Player.log 在用户的 AppData 路径下,Windows 上类似:
C:\Users\<Username>\AppData\LocalLow\<CompanyName>\<ProductName>\Player.log
<CompanyName> 和 <ProductName> 是项目里 Edit → Project Settings → Player 配的 Company Name / Product Name。
注意顺序:先把应用跑起来,再打开 Player.log 找端口——端口是应用启动监听后才写进日志的,没运行就没有。