Version: 6000.3
语言: 中文
调试 C# 代码
用于 UWP 的 C# 脚本中的 WinRT API

调试生成的 C++ 代码

可以使用 Visual Studio 调试为通用 Windows 平台 (UWP) 应用程序生成的 C++ 代码。

了解生成的 C++ 代码中的类和方法命名

IL2CPP 类

IL2CPP 类遵循<ClassName>_t#number哪里:

  • <ClassName>是类名
  • 可选的#number是唯一的类型编号

IL2CPP Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代方案。更多信息
请参阅术语表
类:

IL2CPP方法

IL2CPP 方法遵循<ClassName>_<MethodName>_m#number哪里:

  • <ClassName>是方法声明类型的类名
  • <MethodName>是方法名称
  • #number是一个唯一的方法编号

IL2CPP 方法示例:

IL2CPP 静态场结构

静态字段结构遵循<ClassName>_t#number_StaticFields,其中结构名称的第一部分与声明类型相同。

静态字段结构示例:

  • StringBuilder_t26_StaticFields
  • Thing_t24_StaticFields

C++ 注释

在每个类或方法定义之前,C++ 会自动生成一个注释,说明完整的类或方法名称。

示例 C++ 注释:

    // System.Text.StringBuilder
    struct StringBuilder_t26  : public Object_t
    {
        // System.Int32 System.Text.StringBuilder::_length
        int32_t length_1;
        // System.Int32 System.Text.StringBuilder::_maxCapacity
        int32_t maxCapacity_2;
    };

观察变量值

可以通过使用 Visual Studio 调试器观察变量的值来调试生成的 C++ 代码。

可以在 Visual Studio 中设置断点,以便在其中设置要调试器停止的断点,以便观察变量。Visual Studio 允许你通过将鼠标悬停在变量上或使用“监视”窗口来观察变量值。

观察静态场

在 IL2CPP 中,Unity 将静态字段存储在 Il2CppClass 实例中。要观察静态字段的值,您需要:

  1. 在代码中找到指向该类型的 Il2CppClass 结构的指针
    注意:这些指针在使用它们的方法的范围内,但在观察一次后,它将在应用程序运行期间保持在同一内存地址。
  2. 检索static_fields字段。这是指向包含该特定类型的静态字段的内存块的指针。
  3. 将值强制转换为相应的静态字段结构。
  4. 观察 Visual Studio 调试器中的值。

调查异常

IL2CPP 使用本机 C++ 异常来实现 .NET 异常。

若要调查代码中的异常,可以:

其他资源

调试 C# 代码
用于 UWP 的 C# 脚本中的 WinRT API