我正在开发一个应用程序,我必须跟踪崩溃。有一个限制,我不能使用任何第三方来源,如Twitter的Fabric框架来处理崩溃日志记录。
目前我只能得到崩溃的原因。我无法得到崩溃的确切点。
我在做什么:
在我的app委托的didFinishLaunchingWithOptions
方法中,我创建了自己的异常处理程序:
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
uncaughtExceptionHandler ----
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"callStackSymbols: %@", [exception callStackSymbols]);
NSLog(@"callStackReturnAddresses: %@", [exception callStackReturnAddresses]);
NSLog(@"reason: %@", [exception reason]);
NSLog(@"name: %@", [exception name]);
NSLog(@"%s %d %s %s", __FILE__, __LINE__, __PRETTY_FUNCTION__, __FUNCTION__);
// Internal error reporting
}
我使用以下方法在viewDidLoad
方法中崩溃了我的应用:
NSArray *myary;
myary = [NSArray arrayWithObjects:@"sad", nil];
NSString *str = [myary objectAtIndex:22];
他们有什么方法可以实现我的目标吗?
我试过从SO那里得到这些解决方案,但他们没有给我带来任何好处: