上线App崩溃 : Crash日志收集, 分析, 处理

作者: Mr_Lucifer | 来源:发表于2016-07-01 09:19 被阅读2571次

    前言

    项目开发时, 遇到崩溃问题, 可以通过控制台log看到调用堆栈, 从而找到问题所在,  但上线项目如何解决App闪退那?  那么, 作者现在就聊聊这个问题.

    一 iTunes Connect 中的 [App分析]

    直接上传送门 : 如何查看iOS已上架app崩溃分布、定位crash发生的行 - 简书

    已经写的很清楚了, 作者不再复述, 说下该方法的限制 : 需要用户手机设置->隐私->诊断与用量->诊断与用量数据(iOS8以下版本在通用中设置) 选择自动发送. 这样才可以获取到Crash日志, 如未开启将获取不到数据,  所以该方法数据获取的不全面. 

    二 程序内部实现Crash日志

    该方法 作者未使用过, 具体效果未验证, 传送门 : 经营你的iOS应用日志(一):开始编写日志组件 - alario - 博客园

    三 第三方实现Crash日志

    友盟移动统计 Mob移动统计 百度移动统计 等第三方实现Crash日志收集与分析. 

    作者使用过 友盟 和 百度. 简单说下 : 

    1)百度在3.6后 新增[自动监控模式] ,集成是只需要在 

    - (void)viewDidLoad

    中 写入 self.title命名就行, 

    2)友盟, 集成需要在

    -(void)viewWillAppear:(BOOL)animated

    -(void)viewWillDisappear:(BOOL)animated

    中写入 友盟对应语句

    百度 / 友盟 

    详解 : 用友盟详细说明一下

    1. 进入友盟 个人中心 -> 错误分析 -> 错误列表 -> 点击列表中错误进入界面

    有用信息标注

    2. 点击 右上角 进入 [报表中心] 下载该错误.  将 友盟Crash分析工具与下载的错误报表放同一文件夹中,  打开 终端 , 先拖入友盟Crash分析工具 再拖入 错误报表 , 按回车. 

    终端 运行完成后 , 会显示错误的位置与行数

    显示为 UIImageBro'w'erView.m 中 235行, 出错

    传送门 : 友盟统计分析文档

    友盟分析错误 只定位到方法, 也就是说 235行对应的是方法,   但是具体是方法中哪句代码有问题, 需要自己仔细分析.

    补充结合 : 有需求就有解决,  answer_huang - iOS developer,Python fans  封装了一个应用, 可以解决该问题.

    使用步骤:

    1.将打包发布软件时的xcarchive文件拖入软件窗口内的任意位置(支持多个文件同时拖入,注意:文件名不要包含空格) PS. 位置 : /Users/用户名/Library/Developer/Xcode/Archives

    2.选中对应版本的xcarchive文件,右边会列出该xcarchive文件支持的CPU类型,选中错误对应的CPU类型。

    3.对比错误给出的UUID和工具界面中给出的UUID是否一致。

    4.将错误地址以及 Slide Address 输入工具的文本框中,点击分析。

    dSYM分析工具 传送门 :GitHub - answer-huang/dSYMTools: dSYM analyze

    如果好用, 请给answer_huang点个star. 感谢他的分享.

    举例 :  对应 上面友盟 错误详情 截图, 将 dSYM的UUID, 首次错误内存地址, Slide Arrdress, CPU Type 填入该应用中

    错误定位在 240 行, 比友盟只定位方法, 更精准些

    可以看到错误定位 在 240行, 为方法中的具体代码, 分析错误类型, 对比代码, 解决问题 .


    App上线后, 程序Crash的收集, 分析, 处理方案介绍完. 

    以上 !

    相关文章

      网友评论

        本文标题:上线App崩溃 : Crash日志收集, 分析, 处理

        本文链接:https://www.haomeiwen.com/subject/ijtfjttx.html