0

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

在 game.exe 中的 0x2121FE8A 处引发异常:0xC0000008:指定了无效句柄。

由于 C# 源代码变成了 C++ 项目,我不知道的代码有什么问题。当我在 Unity 中玩游戏时,它可以正常工作。

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

截屏:

在此处输入图像描述

4

1 回答 1

1

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

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

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

    在此处输入图像描述

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

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

    在此处输入图像描述

  4. 从 Unity中打开 VisualStudio 中的任何脚本(这样您就可以正确加载整个解决方案)并Attach Unity Debugger从下拉列表中选择

    在此处输入图像描述

  5. 应该会出现一个窗口提示您选择镜头。(通过 USB 连接镜头时它也应该可以工作,但您可能需要为 devenv.exe 启用入站 UDP 通信)

    在此处输入图像描述

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

于 2019-07-15T13:41:34.707 回答