1.获取
在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);官方文档介绍:Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.UncaughtExceptionHandler是一个函数指针,该函数需要我们实现,可以取自己想要的名字。当程序发生异常崩溃时,该函数会得到调用,这跟C,C++中的回调函数的概念是一样的。
2.实现方法
void UncaughtExceptionHandler(NSException *exception) {
NSArray *arr = [exception callStackSymbols];//得到当前调用栈信息
NSString *reason = [exception reason];//非常重要,就是崩溃的原因
NSString *name = [exception name];//异常类型
NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr);
}