XCode:SIGABRT出现未捕获的异常时

时间:2014-02-05 15:39:25

标签: xcode

我在下一行获得了一个SIGABRT

int main(int argc, char *argv[])
{
    @autoreleasepool
    {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

经过一段时间的代码后,我发现sigabrt正好在

之后发生
NSData *jsonObj = [NSJSONSerialization dataWithJSONObject:myDict
                                                  options:NSJSONWritingPrettyPrinted
                                                    error:nil];

然后我发现我在dict的一个属性中使用了一个NSDate,它显然不能被序列化 - 看着输出控制台我也看到了这一行:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'

所以很清楚,我在那里使用了无效的论点。

但令我恼火的是,XCode在返回的UIApplicationMain行上停止了一个信号:SIGABRT,而不是在我传递无效参数的行上显示无效的参数异常。

这种行为的原因是什么?

我正在使用XCode 5.0.2

1 个答案:

答案 0 :(得分:2)

您可能需要添加例外断点以更接近问题。

请参阅此Apple Guide