3

一位客户向我发送了这个崩溃日志,它只包含堆栈跟踪。此堆栈跟踪由自定义开发的异常处理程序生成。

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
)

这个问题有两个部分:

  1. 我可以符号化这个部分崩溃日志吗?(是的,我有实际文件的 .app 和 .dsym )。

  2. 我必须在异常处理程序中进行哪些更改才能正确导入崩溃日志以应对未来的崩溃事件?

编辑:更多信息;我设法通过使用来解码十六进制值

atos -o SimplyStats.app/SimplyStats -arch armv7 0x00034b83

我对更多的十六进制数字做了同样的事情。但是比较乏味!我相信一定有更聪明的方法。

编辑 2:由于我的问题没有得到答案,在电子邮件消息中记录和 Stacktraces 的最佳做法是什么,NSExceptions以便可以正确分析它们?

4

0 回答 0