我使用 Il2Cpp 为 UWP 构建了我的游戏。当它尝试连接到互联网时,我收到此错误:
在 game.exe 中的 0x2121FE8A 处引发异常:0xC0000008:指定了无效句柄。
由于 C# 源代码变成了 C++ 项目,我不知道我的代码有什么问题。当我在 Unity 中玩游戏时,它可以正常工作。
我怎样才能找到问题所在的线索?
截屏:
我不会直接在c++
生成的代码中调试......它非常不透明且难以解释(手册在这里也没有真正的帮助)
而是在启用选项的情况下构建和部署应用程序,Wait for Managed Debugger
并在 c# VisualStudio 解决方案(源代码)中连接调试器
设置您的 Unity 项目构建设置Development Build
并Script Debugging
启用Wait for managed debugger
在 Unity 中构建,在 VisualStudio 实例中打开解决方案并将其部署到远程设备
构建和部署需要相当长的时间,一旦部署,您会被要求附加调试器
从 Unity中打开 VisualStudio 中的任何脚本(这样您就可以正确加载整个解决方案)并Attach Unity Debugger
从下拉列表中选择
应该会出现一个窗口提示您选择镜头。(通过 USB 连接镜头时它也应该可以工作,但您可能需要为 devenv.exe 启用入站 UDP 通信)
c#
通过这种方式,您可以在实际运行Il2CPP
生成的代码时调试您的正常代码、设置断点等c++
。