返回介绍

调试器

发布于 2021-06-19 18:03:26 字数 2990 浏览 946 评论 0 收藏 0

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 并点击调试工具栏中的附加图标。在可用实例中选择您的设备(如果显示有多个实例,则选择底部那个)。


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文