客户向我发送此崩溃日志,它只包含堆栈跟踪。此堆栈跟踪由自定义开发的异常处理程序生成。
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:由于我的问题没有得到答案,在电子邮件中记录NSExceptions
和Stacktraces以便正确分析它们的最佳做法是什么?