symbolicatecrash 查找crash信息

2017-02-14  本文已影响153人  3efefee71c8c

背景:

苹果拒绝之后,反馈了crash logs 文档,打开看之后

一看在 thread0 崩溃了,初步判断为启动的时候就崩溃了。。查看更多信息需要将日志  :符号化(symbolicatecrash)

下边是 symbolicatecrash具体步骤:

一:在桌面创建一个  crash 文件夹  (用于存放crash文件 ,symbolicatecrash ,DSYM )

    1.0:1.Xcoe-Window-Organize找到Archives找到App-右击-Show in Finder

  1.1:右击..xcarchive文件-显示包内容

1.2:从dSYMs 中取出  *.dSYM 文件    copy  crash 文件夹 中

1.3:从Products -->Applications --> 取出包文件    copy  crash 文件夹 中

二:找到symbolicatecrash工具存放的地址

2.1:打开终端输入以下命令:

find /Applications/Xcode.app -name symbolicatecrash -type f

会得到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash

这样一个路径

2.2:用命令将symbolicatecrash拷贝到桌面的crash文件夹里面,与.app和.app.dSYM放一起

三:做完前两步,你的桌面crash 文件夹中,应该有如下四个文件

3.1 :在终端  CD 到 crash 文件目录

3.2:执行命令 :./symbolicatecrash .crash .DSYM >b.log

3.3:此时我们会看到文件夹中

会多出一个  b.log 文件,,这个就是符号化之后的 crash 信息。。

我们发现,最后调用了UIkit 的系统方法,,崩溃了。。。

这个时候我们就去看在崩溃之前执行了那些方法。。。。

最后发现:程序在运行完  MJResresh 之后,出了点问题,,而罪魁祸首便是

MJ库中的一个 在获得设备语言的时候,获取到了英语,,然后造成了 range 的越界,崩溃。。。耗时 3个小时的bug 终于完结。

符号号的方式有几种,我这边就提供了比较简单的一种,

参考博客:http://402v.com/crash-logfen-xi-shi-zhan/

上一篇下一篇

猜你喜欢

热点阅读