iOS闪退日志收集与解析

1、收集闪退日志

  • 和用户确认iPhone是否打开了设置。
  • 没有打开设置的用户 在设置->隐私-分析-共享iPhone分析与应用开发者共享 打开开关。
  • 然后进入设置->隐私->分析->分析数据,找到以自己项目开头拼接出现闪退大致时间点文件名的ips文件

2、解析闪退日志

a、如果还能找到用户反馈有问题的app 当时打包时相对应的项目源码,那么就很简单了;

获取到的.ips文件双击打开是没有解析的日志,现在需要修改后缀名为.crash,然后双击打开,在弹框中可以选中当时打包的项目,预览并且打开,这时候你会发现打开后的项目会显示闪退的地方。

b、不能找到打包时的项目源码,但是可以找到当时打包的dSYM文件

在桌面新建crashFile文件夹,该文件夹需要导入四样东西;

  • 1.找到前面获取到的.ips文件,拷贝.ips文件放到crashFile中,并修改后缀名为.crash

  • 2.找到路径

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 

下的把symbolicatecrash放到crashFile

  • 3.打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出dSYMs文件夹下的dSYM文件到crashFile

  • 4.打开Xcode->window->Organizer,找到对应版本的archives,右键Show in Finder,选中xcarchive文件右键显示包内容,拷贝出Products->Applications文件夹下的.ipa文件

    1. 打开终端,cdcrashFile文件夹中
    1. 输入命令
./symbolicatecrash  xxx.carsh  xxx.dSYM  > log.carsh

执行之后,终端可能报错Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

继续执行以下命令:

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

然后,再继续执行声场log的命令,此时crashFile文件夹内应该就能看到一个log.crash文件,打开此文件,就能更好的定位问题所在了。

因为解析前的.ips文件是十六进制的堆栈信息,所以我们需要对这些数据进行符号化转换,将堆栈地址转化为我们可识别的一些类名、方法名等符号信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在开发过程中往往会遇见有个别用户或者测试人员反馈app的闪退现象,而项目一般集成的统计闪退的第三方库是笼统的统计了...
    菁欣陌陌阅读 1,686评论 0 1
  • 前言 查看闪退日志的步骤:(1)获取闪退日志(2)获取 symbolicatecrash 脚本(3)获取闪退日志对...
    腾飞Tenfay阅读 9,892评论 0 6
  • 测试有的时候回发生闪退或crash,复现比较困难,我们可以采用一些crash report 的方式进行追踪 一、获...
    无名小鱼会吐火阅读 1,430评论 0 1
  • 前言 查看闪退日志的步骤(1)获取闪退日志(2)获取symbolicatecrash 脚本(3)获取闪退日志对应的...
    StarHuiDream阅读 6,655评论 0 12
  • 一、dSYM 什么是dSYM dSYM实际上放的是程序在编译过程中收集的符号表的信息,其实质上保存符号表数据的是二...
    CrystalZhu阅读 708评论 0 1