0

我正在调查已编译的 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

在 atoc 的帮助下,我能够确定第 13 行是这种方法。

4

0 回答 0