最近偶然与到一个线上crash问题,一直无法复现,十分苦恼,大家都知道,如果在开发阶段,完全可以设置全局断点等等方式进行crash定位,但是线上的问题怎么解决呢?
经过研究学习后发现,我们可以通过线上crash日志来进行线上bug的定位。恰巧我们的APP内部集成了talkingdtata,然后就总结一下线上崩溃日志的解析办法。
从talkingdata的崩溃信息列表可以查看崩溃日志,其中形式大约如此:
reason: *** -[__NSCFConstantString substringToIndex:]: Index 1 out of bounds; string length 0
callStackSymbols: (
0 CoreFoundation 0x0000000188b86ff8 <redacted> + 148
1 libobjc.A.dylib 0x00000001875e8538 objc_exception_throw + 56
2 CoreFoundation 0x0000000188b86f28 <redacted> + 0
3 Foundation 0x000000018958c928 <redacted> + 128
4 AppName 0x0000000100167800 AppName+ 1144832
5 AppName 0x000000010014b930 AppName + 1030448
6 AppName