iOS symbolicatecrash工具crash日志分析

若一个App没有加入Crashlytics或者Buggly这些崩溃日志监控,那么我们在App崩溃的时候如何获取崩溃信息呢?

此时我们可以通过symbolicatecrash工具对手机日志来进行分析定位,需要以下一些步骤:

一、获取crash日志文件

  1.手机直接获取日志  

    在手机 设置->隐私->分析->数据分析 中找到对应App(文件名为App设置的product name),打开文件,右上角可以分享导出文件,分享出来的文件改一下后缀为.crash

  2.使用iTools导出日志

    使用iTools的工具箱里面的崩溃日志导出对应的.ips文件,改后缀为.crash

  3.使用Xcode导出

    设备连接Xcode,选择“Window->Devices and Simulators”,选择左侧设备,点击中间的“View Device Logs”,同理,选择对应App(文件名为App设置的product name),右键“Export Log”即可,此处导出的文件为.crash文件。

二、获取dSYM文件

  1.Xcode获取

    Xcode在archives时候,都会生成一个对应的dSYM文件,我们直接去获取app对应的dSYM文件就好;打开App工程,点击“Window->Organizer”,里面有你此工程archives过的记录,找到对应的,右键“show in finder”,对应文件右键"显示包内容",在dSYM文件夹下的.app.dSYM就是我们要获取的dSYM文件了。

  2.App Store Connect获取

    如果App已经上架,并在上架的时候选择提交过dSYM,那么还可以从App Store Connect获取,登录选择App,进入“活动”页签,“所有构建版本”,选择对应版本,点击app版本号,会出现包的详细信息,右下角有“包含符号”,若有提交的话,此处可以下载dSYM文件

三、symbolicatecrash工具

  symbolicatecrash工具是Xcode自带的工具,我们在中断输入: find /Applications/Xcode.app -name symbolicatecrash即可找到工具

四、crash日志分析

  将crash文件、dSYM文件以及symbolicatecrash工具拷贝到同一个目录,cd进入此目录,然后输入命令:

  ./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash

  ps:运行上面的命令后可能会报错:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”,如果出现错误,再输入:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

  接着再输入一次 ./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash 这个命令就可以了。

猜你喜欢

转载自www.cnblogs.com/liuluoxing/p/10616152.html