您可以使用 Visual Studio 调试为通用 Windows 平台 (UWP) 应用程序生成的 C++ 代码。
IL2CPP 类遵循 <ClassName>_t#number 的格式,其中:
<ClassName> 是类的名称#number 是唯一的类型编号IL2CPP 类示例:
String_t - String 类
Object_t - Object 类
Type_t - Type 类
StringBuilder_t26 - StringBuilder 类
IL2CPP 方法遵循 <ClassName>_<MethodName>_m#number 的格式,其中:
<ClassName> 是方法的声明类型的类名称<MethodName> 是方法名称#number 是唯一的方法编号IL2CPP 方法示例:
ConfigurationSection_DoDeserializeSection_m1275 - ConfigurationSection 类的 DeserializationSection 方法
String_Format_m4102 - String 类的格式方法
Mathf_Sqrt_m289 - Mathf 类的 Sqrt 方法
静态字段结构遵循 <ClassName>_t#number_StaticFields 的格式,其中结构名称的第一部分与声明类型相同。
静态字段结构示例:
StringBuilder_t26_StaticFieldsThing_t24_StaticFields在每个类或方法定义之前,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 实例中。要观察静态字段的值,您需要:
static_fields 字段的值。这是一个指针,指向包含该特定类型的静态字段的内存块。IL2CPP 使用本机 C++ 异常来实现 .NET 异常。
要调查代码中的异常,您可以: