调试器        

Unity 调试器可以在运行时检测代码。例如,它可以帮助确定何时调用函数,以及调用了哪些函数值。此外,它还支持运行游戏时,在给定时间内查看脚本变量的值。您可以通过执行这些步骤在脚本中找到错误或逻辑问题。

Unity 使用 MonoDevelop IDE 调试游戏中的脚本。可以调试引擎支持的所有语言(JavaScript、C# 和 Boo)。

请注意,调试器必须加载所有代码和符号,因此请记住,在执行期间,这可能对游戏性能具有轻微的影响。通常,这种开销不足够影响游戏的帧速率。


MonoDevelop 在 Unity 中调试脚本的窗口。

在 Unity 进行调试。

在 Windows 中,用户必须选择安装 MonoDevelop(默认选中),作为 Unity 安装的一部分。

  • 如果您的工程之前从未使用过 MonoDevelop,请同步 MonoDevelop 工程。之后将在 MonoDevelop 中打开项目。

      
  • 单击想要分析的行,在脚本上设置必要的断点。

      
  • 启动 Unity 或播放器

    • Unity: 确保在首选项 (Preferences) 窗口中勾选“编辑器附加 (Editor Attaching)”。

    • 播放器: 确保使用“开发构建 (Development build)” 构建您的播放器,并已启用“允许脚本调试选项 (Allow script debugging)” 对于网络播放器,还需检查确认已经启用播放器内容菜单中的开发发布通道设置(右击 Windows 或点击 Mac OSX 中的 cmd)。


启用网络播放器调试
  • 在 MonoDevelop 中打开工程。

  • 在 MonoDevelop 中,点击工具栏中的附加 (Attach) 按钮,或在运行 (Run) 菜单中选择附加 (Attach)。

  • 在出现的对话框中,选择您想要调试的项目。

  • 请注意:

    • 当前支持的调试目标:Unity 编辑器、台式机独立播放器、Android 和 iOS 播放器。

    • 如果播放器未设置后台运行(默认),可能需要关注播放器几秒,以让其出现在列表中。

    • Android 和 iOS 播放器在调试脚本时,必须启用网络。所有播放器都必须与运行 MonoDevelop 的电脑处于同一个网络子网。

      
  • 进入播放模式时,脚本代码将在调试器中执行。

  • 发生断点时,将停止脚本执行,可以使用 MonoDevelop 跨越、跨进或跨出脚本类函数,检查变量,检查调用的堆栈等。

    • 请注意:在您完成调试顶层类函数(如 Update()),或仅仅想要跳到下一个断点时,使用继续 (Continue) 命令(而不是跨出或跨越函数)将获得更好的调试性能。

            
  • 完成调试之后,点击工具栏上的分离 (Detach) 或停止 (Stop) 按钮,或在运行 (Run) 菜单中选择分离 (Detach) 或停止 (Stop)。

提示

  • 如果添加监视到对象,可以检查脚本附加的游戏对象 (GameObject ) 的内部值(位置、缩放、旋转...)。

iOS 远程调试说明

除上述介绍以外,Unity iOS 应用程序还需要一些其他步骤,才能进行成功调试。

  1. 将 iDevice 附加至 WiFi 网络(远程测评有同样的要求)。

  2. 在 Unity 编辑器中点击构建并运行 (build & run)。

  3. 应用程序构建时,安装并通过 Xcode 发布,在 Xcode 中点击停止 (Stop)

  4. 在 iDevice 上手动查找并启动应用程序。(请注意:如果应用程序通过 Xcode 启动,在达到断点之后将无法恢复。)

  5. 应用程序在设备上运行时,切换至 MonoDevelop 并点击调试工具栏中的附加图标。在可用实例中选择您的设备(如果显示有多个实例,则选择底部那个)。


,