我刚刚下载了编译后的 PLCrashReporter 并将其添加到我的应用程序中。我已经测试过了,它工作正常。项目文档中的示例代码工作正常。
现在,我想生成一个堆栈跟踪,以便我可以看到应用程序崩溃的确切位置。如果您在将 iphone 连接到 xcode 时查看 iphone 设备日志,您会得到一些信息:
我该怎么做才能获得使用 PLCrashReporter 生成的如此好的堆栈跟踪?
我刚刚下载了编译后的 PLCrashReporter 并将其添加到我的应用程序中。我已经测试过了,它工作正常。项目文档中的示例代码工作正常。
现在,我想生成一个堆栈跟踪,以便我可以看到应用程序崩溃的确切位置。如果您在将 iphone 连接到 xcode 时查看 iphone 设备日志,您会得到一些信息:
我该怎么做才能获得使用 PLCrashReporter 生成的如此好的堆栈跟踪?
该框架包括一个文本格式化程序PLCrashReportTextFormatter.h
:
NSString *humanReadable = [PLCrashReportTextFormatter stringValueForCrashReport:report withTextFormat:PLCrashReportTextFormatiOS];
NSLog(@"Report: %@", humanReadable);
symbolicatecrash
您需要使用作为 Xcode 一部分的工具来符号化崩溃报告。这需要创建崩溃报告的确切版本的 dSYM 包可用。StackOverflow 上有很多关于如何做到这一点的讨论。
还有 3rd 方服务可以自动为您执行此操作,包括收集崩溃报告并按相似性对其进行分组,还有带有 PHP 服务器部分的开源项目QuincyKit,可帮助您从自己的 Mac 收集崩溃报告和自动符号化.