我正在调查已编译的 Unity C# 代码的堆栈跟踪。它会导致标准 C free() 函数内部出现错误。调用 free() 的框架是一个非常简单的方法,如下所示:
void Method()
{
SomeOtherMethod();
if (StaticClass.StaticProperty == SomeMethod())
{
StaticClass.StaticProperty = 0;
StopCoroutine("Coroutine name");
if (m_privateField < CONSTANT)
YetAnotherMethod();
else
AndOneMoreMethod();
}
}
在我看来,我在这里所做的只是调用其他代码并进行非常基本的相等比较和条件;但是,此代码和 free() 之间没有其他框架。这其中的哪一部分可以称为它?
这是由 xcode 符号化的堆栈跟踪的这一部分:
11 libsystem_c.dylib 0x3aa5be90 _sigtramp + 40
12 libsystem_c.dylib 0x3aa272dc free + 168
13 dev 0x002ea644 ___lldb_unnamed_function10628$$dev + 176