我是使用PLCrashReport的新手,我想在客户端进行符号化。我知道有很多缺点,但是我想尝试一下,请您能帮我一下。
我使用了CrashReporter的最新版本,并且我在appDelegate类中引用了此示例http://plcrashreporter.googlecode.com/svn/tags/plcrashreporter-1.1-rc1/Documentation/API/example_usage_iphone.html进行了此操作。
这是一个在这里谈论这个话题
PLCrashReporter - How to symbolicate crash data in-process?
链接到图书馆:
https://www.plcrashreporter.org/。
(void) applicationDidFinishLaunching: (UIApplication *) application {
PLCrashReporter *crashReporter = [PLCrashReporter sharedReporter];
NSError *error;
if ([crashReporter hasPendingCrashReport])
[self handleCrashReport];
if (![crashReporter enableCrashReporterAndReturnError: &error])
NSLog(@"Warning: Could not enable crash reporter: %@", error);
最佳答案
您正在链接到旧的存储库和文档。 PLCrashReporter的网站为https://www.plcrashreporter.org/,文档为https://www.plcrashreporter.org/documentation/api/v1.2/。
要启用客户端符号化,您需要使用以下配置对其进行初始化:
PLCrashReporterSignalHandlerType signalHandlerType = PLCrashReporterSignalHandlerTypeBSD;
PLCrashReporterSymbolicationStrategy symbolicationStrategy = PLCrashReporterSymbolicationStrategyNone;
PLCrashReporterConfig *config = [[PLCrashReporterConfig alloc] initWithSignalHandlerType: signalHandlerType
symbolicationStrategy: symbolicationStrategy];
PLCrashReporter *crashReporter = [[PLCrashReporter alloc] initWithConfiguration: config];
这基于下载页面上提供的最新版本1.2:https://www.plcrashreporter.org/download
但是您是对的,您不应这样做:
您应该改用dSYM来表示崩溃报告,例如在Mac上。