Unity for UWP:指定了无效句柄

Unity for UWP: An invalid handle was specified

我使用 Il2Cpp 为 UWP 构建了我的游戏。当它尝试连接到互联网时出现此错误:

Exception thrown at 0x2121FE8A in game.exe: 0xC0000008: An invalid handle was specified.

自从 C# 源代码变成了 C++ 项目后,我不知道 my 代码中有什么问题。当我在 Unity 中玩时,它工作正常。

我怎样才能找到问题的线索?

截图:

我不会在 c++ 生成的代码中直接调试...它非常不透明且难以解释(而且 Manual 在这里并没有真正帮助)

而是在启用选项 Wait for Managed Debugger 的情况下构建和部署应用程序,并在 c# VisualStudio 解决方案中连接调试器 (source)

  1. 设置您的 Unity 项目构建设置并启用 Development BuildScript DebuggingWait for managed debugger

  2. 在Unity中构建,在VisualStudio实例中打开解决方案并将其部署到远程设备

  3. 构建和部署需要相当长的时间,部署后您将被要求附加调试器

  4. 从 Unity 中打开 VisualStudio 中的任何脚本(这样您就可以正确加载整个解决方案)和 select Attach Unity Debugger下拉菜单

  5. 系统会提示您 window 允许您 select 镜头。 (当通过 USB 连接镜头时它应该也可以工作,但您可能需要为 devenv.exe 启用入站 UDP 通信)

通过这种方式,您可以调试正常的 c# 代码、设置断点等,而它实际上是 运行 Il2CPP 生成的 c++ 代码。