一位客户向我发送了这个崩溃日志,它只包含堆栈跟踪。此堆栈跟踪由自定义开发的异常处理程序生成。
Exception message:
NSInvalidArgumentException
Exception Reason:
*** setObjectForKey: object cannot be nil (key: pop_year)
Stacktrace:
(
0 CoreFoundation 0x3a9dc3ff <redacted> + 186
1 libobjc.A.dylib 0x39a35963 objc_exception_throw + 30
2 CoreFoundation 0x3a93e5ef <redacted> + 142
3 SimplyStats 0x0004640b SimplyStats + 103435
4 SimplyStats 0x000458e1 SimplyStats + 100577
5 SimplyStats 0x00034b83 SimplyStats + 31619
6 libdispatch.dylib 0x337c4793 <redacted> + 10
7 libdispatch.dylib 0x337c7b3b <redacted> + 142
8 libdispatch.dylib 0x337c567d <redacted> + 44
9 libdispatch.dylib 0x337c8613 <redacted> + 210
10 libdispatch.dylib 0x337c87d9 <redacted> + 92
11 libsystem_c.dylib 0x33cb67f1 <redacted> + 360
12 libsystem_c.dylib 0x33cb6684 start_wqthread + 8
)
这个问题有两个部分:
我可以符号化这个部分崩溃日志吗?(是的,我有实际文件的 .app 和 .dsym )。
我必须在异常处理程序中进行哪些更改才能正确导入崩溃日志以应对未来的崩溃事件?
编辑:更多信息;我设法通过使用来解码十六进制值
atos -o SimplyStats.app/SimplyStats -arch armv7 0x00034b83
我对更多的十六进制数字做了同样的事情。但是比较乏味!我相信一定有更聪明的方法。
编辑 2:由于我的问题没有得到答案,在电子邮件消息中记录和 Stacktraces 的最佳做法是什么,NSExceptions
以便可以正确分析它们?