相关疑难解决方法(0)

NSSetUncaughtExceptionHandler无法捕获iPhone上的所有错误

我正在使用http://code.google.com/p/google-toolbox-for-mac中的 GTMStackTrace .

我需要一种方法来测试最终用户在应用程序崩溃时向我发送错误.我知道如何将数据发送到我的网站,但问题是如何捕获所有未处理的错误.

我有这个代码:

void exceptionHandler(NSException *exception) {
    NSLog(@"%@", [exception reason]);
    NSLog(@"%@", [exception userInfo]);
    NSLog(@"%@", GTMStackTraceFromException(exception));

    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:NSLocalizedString(@"Error unexpected",@"Info: Can't save record")
                          message:GTMStackTraceFromException(exception) delegate:nil 
                          cancelButtonTitle:NSLocalizedString(@"Ok",@"Button: Ok") otherButtonTitles:nil];
    [alert show];
    [alert release];    
}

int main(int argc, char *argv[]) {
    //For crash report..
    NSSetUncaughtExceptionHandler(&exceptionHandler);
    //Normal code...
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

然而,事情不是抓了很多的错误,像一个坏的版本,一个BAD ACCES等,和App消失.我有2个问题,其中目前尚不清楚为什么happend和最终用户有没有什么要说的线索.

(例如,释放两次相同的var不能捕获)

那么,如何我得到的所有讨厌的错误,从而使最终用户简单的给我发一份崩溃报告吗?

iphone crash error-handling

9
推荐指数
1
解决办法
2万
查看次数

我如何捕捉iPhone中的所有异常?

我需要在iPhone应用程序中捕获所有异常和错误.显然,这仅适用于异常或错误完全出乎意料的奇怪情况.在这些情况下,记录错误或其他内容会很好,以便了解问题并在将来修复它.

您是否知道如何捕获可能从更具体的处理程序中删除的所有异常或错误?

谢谢!

iphone logging exception objective-c

3
推荐指数
1
解决办法
3510
查看次数

标签 统计

iphone ×2

crash ×1

error-handling ×1

exception ×1

logging ×1

objective-c ×1