void registerSignalHandler(void) {
NSSetUncaughtExceptionHandler (&chUncaughtExceptionHandler);
signal(SIGSEGV, handleSignalException);
signal(SIGFPE, handleSignalException);
signal(SIGBUS, handleSignalException);
signal(SIGPIPE, handleSignalException);
signal(SIGHUP, handleSignalException);
signal(SIGINT, handleSignalException);
signal(SIGQUIT, handleSignalException);
signal(SIGABRT, handleSignalException);
signal(SIGILL, handleSignalException);
}
void handleSignalException(int signal) {
NSMutableString *crashString = [[NSMutableString alloc]init];
void* callstack[128];
int i, frames = backtrace(callstack, 128);
char** traceChar = backtrace_symbols(callstack, frames);
for (i = 0; i <frames; ++i) {
[crashString appendFormat:@"%s\n", traceChar[i]];
}
NSLog(@"exception===%@",crashString);
}
void chUncaughtExceptionHandler(NSExcept
iOS开发——崩溃日志收集
最新推荐文章于 2024-05-12 23:59:35 发布
本文介绍如何在iOS应用中实现崩溃日志的收集。通过在`application:didFinishLaunchingWithOptions:`方法中调用`registerSignalHandler()`,可以确保在应用启动时初始化崩溃日志记录机制。
摘要由CSDN通过智能技术生成