Version: Unity 6.0 (6000.0)
语言 : 中文
调试 C# 代码
适用于 UWP 的 C# 脚本中的 WinRT API

调试生成的 C++ 代码

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

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

IL2CPP 类

IL2CPP 类遵循 <ClassName>_t#number 的格式,其中:

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

IL2CPP 类示例:

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 允许您通过将鼠标悬停在变量上或使用观察 (Watch) 窗口来观察变量值。

观察静态字段

__ IL2CPP__种由 Unity 开发的脚本后端,可在为某些平台构建项目时替代 Mono。更多信息
See in Glossary
中,Unity 将静态字段存储在 Il2CppClass 实例中。要观察静态字段的值,您需要:

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

调查异常

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

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

其他资源

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