【问题标题】:How to debug a unity c# project on hololens如何在 hololens 上调试统一 c# 项目
【发布时间】:2020-05-16 07:59:23
【问题描述】:

我使用 Unity 为 Hololens 开发了一个应用程序,该应用程序使用 Hololens 的深度相机。我使用 il2cpp 脚本后端构建它,当我从 Visual Studio 2017(社区)启动它时,它在 Hololens 上运行良好。但是我希望能够在应用程序在 Hololens 上运行时调试应用程序(并在 Visual Studio 控制台中输出)(因为我需要接收相机帧以查看它是如何工作的)。

此外,我希望能够在我的 #UWP 脚本部分的 .cs 脚本文件中设置断点。

我在 Microsoft 文档上搜索了很长时间,但没有找到我想要的具体答案。

【问题讨论】:

  • 我可能无法解决这个问题,但是您不能将调试器附加到 HoloLens 进程并设置断点吗?

标签: c# visual-studio unity3d uwp hololens


【解决方案1】:

Unity - ManualMicrosoft - Managed Debugging with Unity IL2CPP 是您的朋友!检查在播放器中调试

部分

简而言之:

  • 在播放器设置中启用功能@​​987654324@, InternetClientServer
  • 在构建设置中启用Development BuildScriptDebuggingWait For Managed Debugger
  • 将您的项目构建为解决方案。在 VisualStudio 中打开解决方案。
  • 连接 HL 后,在设备上运行它。 (从 VisualStudio 调试或通过在设备本身上部署和启动它)。或者通过 WiFi 输入 HoloLens 的 IP .. 部署当然需要更长的时间
  • 等待弹出窗口。
  • 在第二个 VisualStudio 实例中从 Unity 中双击打开任何脚本(这样会加载项目的 c# 解决方案)
  • 您还可以在此处设置断点
  • 转到调试-> 附加 Unity 调试器
  • 选择 HoloLens 并附加调试器
  • 在 HL 上关闭弹出窗口

您现在可以在 HoloLens 实际运行 Il2CPP 解决方案时像往常一样设置断点和调试 c# 代码。

【讨论】:

  • 缺少一个步骤:您需要在应用程序清单中启用“Internet Server”和“Private Networks”功能。
  • 其实更重要的一步;在您尝试连接 Unity 调试器时,不得通过 USB 连接 Hololens 设备,否则它不会出现在调试目标列表中。我猜只支持通过 wifi 进行调试。参考:docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/…
  • @bleater nope .. 我总是通过 USB 调试,工作得很好.. 链接与我在答案中引用的相同 btw ;)
  • @derHugo 使用断点进行调试是否也适用于由 #if UWP 或 #if WINMD 等宏包装的代码?
  • @derHugo 微软提供的解决方案,你没有为我工作。我做了同样的步骤,将断点放入像 Start() 这样的普通代码中,它们没有被触发。
【解决方案2】:

我找到了问题的答案!

为了调试直接在 Hololens 上运行的 c# 代码,我做了如下操作:

  • 在统一中:
    • 构建设置 -> 播放器设置 -> 其他设置 -> 脚本后端 = .NET
    • 构建设置:
      • 构建配置调试
      • 检查复制参考
      • 检查 Unity c# 项目
      • 检查开发版本
    • 然后你就可以构建了
  • 在 Visual Studio 2017 中
    • 调试 - x86 - 设备(或远程机器)
    • 如果需要:在解决方案资源管理器中 -> 对于每个解决方案 -> alt+Enter -> 在构建选项卡下检查允许不安全代码

然后你可以在任何你想要的地方设置你的断点!

希望对你有帮助

【讨论】:

    【解决方案3】:

    只需在此处添加注释,如果有人应该顺便来:接受的答案不被视为从 2019 年开始的解决方案,因为不推荐使用 .NET 后端:请参阅调试方法:

    https://docs.microsoft.com/en-us/archive/blogs/appconsult/how-to-debug-unity-projects-with-il2cpp-backends-on-the-hololens

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      相关资源
      最近更新 更多