在主文件中出现SIGABRT错误

时间:2011-10-09 23:12:59

标签: ios4

我的主文件中出现SIGABRT错误,并且不知道该怎么做。

Maim文件是:

#import <UIKit/UIKit.h>

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

错误消息突出显示以下行:

int retVal = UIApplicationMain(argc, argv, nil, nil);

并读取:“线程1:编程接收信号:”SIGABRT“

你能告诉我什么是错的,我需要做些什么才能让它编译?

谢谢。

1 个答案:

答案 0 :(得分:1)

在您的应用程序的其他位置出现错误。您必须运行调试程序并逐步浏览导致崩溃的屏幕,直到它到达SIGABRT中跳转到main的行。通常它会与内存管理(过度释放对象然后访问它)或UIKit对象的不正确初始化有关,UIKit然后尝试渲染(包括返回一个对象)错误的类型,或意外地将错误的tag分配给UI元素,因此它发送了一个它无法处理的消息。但是,如果它是不正确的初始化,则应该打印一个额外的错误以通知您。

编辑:其实,是的,你提到它无法编译? SIGABRT是发送到正在运行的应用程序的信号,因此在编译期间我看不出它是如何出现的。