运行错误将我发送给我没写的代码

时间:2011-10-28 03:08:59

标签: objective-c ios xcode lldb

每当我点击某个按钮时,应用程序总会死掉,我会被发送到:

int main(int argc, char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    THIS LINE ==> int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

对于那些熟悉的人,你知道我没有写这段代码。我不知道如何找出错误的位置!

此外,输出显示:

2011-10-27 21:03:17.690 My Program[55441:207] Unbalanced calls to begin/end appearance transitions for <UITabBarController: 0x68181f0>.
(lldb) 

在找到问题之前,我不知道在哪里看不到逐行注释代码。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可能正在运行Xcode 4.2在大多数情况下不显示堆栈跟踪的事实。检查这个SO帖子。

Xcode 4.2 debug doesn't symbolicate stack call

答案 1 :(得分:0)

按钮点击UIView被推入Window。该视图的.xib的链接很糟糕(链接到代码中不存在的IBOutlet,因为它已被重命名)。

我在Interface Builder中设置了正确的链接,我不再收到错误消息。我 希望 xcode至少会告诉您某个.xib文件存在问题。

第2部分

修复之后不久,我再次收到此错误 。在搜索网络之后,我发现可能 内存泄漏 相关,所以我跑了Project->Analyze工具。Xcode。当我修正{{1}}的建议时,一切都运行良好。