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