自动crash解析

优质
小牛编辑
153浏览
2023-12-01

百度移动统计SDK(iOS) Crash版收集的Crash日志,需要百度移动统计服务端解析后,方可阅读。使用百度移动统计的自动Crash解析功能,需要以下几个步骤:

  1. 在您的APP内接入百度移动统计Crash版本的SDK

    接入方法与百度移动统计标准版本的接入方法一致,由于我们目前尚未提供Crash版本的Cocoapods接入,您可以按照手动接入的方式接入

  2. 下载Symbol工具

    百度移动统计Symbol工具,是抽取用户应用的dSYM文件中的信息,生成数据包。在Symbol工具包中包括:

    • dump_syms符号抽取工具
    • BaiduSymbolTool执行工具

    使用时,需要将这两个工具与dSYM文件放在同一目录下。

  3. 生成Symbol文件

    打开mac终端,cd进入Symbol工具所在目录,执行如下指令(XXXX.dSYM指您的dSYM文件,appName指您的App工程名),将会在当前目录下,生成一个Zip数据压缩包

     ./BaiduSymbolTool  XXXX.dSYM/Contents/Resources/DWARF/appName
    
  4. 上传Symbol文件到百度移动统计网站

    • 登陆mtj.baidu.com
    • 进入查看某个应用详情
    • 在左侧导航栏,找到设置-文件管理,在该页面上传zip数据包
    • 待文件状态为验证成功后,即上传成功
  5. 查看解析后的错误信息

    上传成功后,您可以进入错误分析-错误报告查看到解析后的错误日志

注意事项

  1. 开启Bitcode的应用Archive打包发布后,需要在Organizer窗口下载对应的新的dSYM文件,下载的dSYM文件若有多个,每一个都需要进行如上四步操作

  2. 自动解析只对上传symbol文件之后发生的Crash有效,对于上传symbol文件之前收集到的Crash,系统不会自动解析。您可以参考手动解析的步骤进行解析

  3. 为什么上传之后还有Crash没有被解析?

请注意以下几点:

  • dsym文件的uuid与日志的uuid匹配才能被解析。您可以看到生成的symbol文件包末尾的uuid与Crash日志上的UUID是否匹配。
  • 目前只解析自有模块的函数,不解析系统库函数

dSYM文件说明

  1. 什么是dSYM文件?

    iOS平台中,dSYM文件是指具有调试信息的目标文件,文件名通常为:xxxx.app.dSYM

  2. 如何获取dSYM文件?

    • Debug开发状态

      以Xcode开发工具为例,一般在项目编译完成后,dSYM文件与app文件在同一目录下,可以通过如下步骤,找到dSYM文件:

      • 在Xcode中编译工程
      • 在左侧栏找到Product文件夹
      • 右击编译生成的xxxx.app文件,选择"show in finder"

      如图所示:

      Add File 1

![Add File 1](./images/2.png)
  • Release发布状态

    • 开启了Bitcode的App发布时获取dSYM方法如下:

      App Store 针对开启了 Bitcode 的 App 做了特殊处理,所以获取发布时的dSYM文件需要如下步骤:

      1. 打开 Xcode 顶部菜单栏 -> Window -> Organizer 窗口

        Add File 1

      2. 选择Archive选项

        Add File 1

      3. 点击你发布生成的Archive包,在右侧信息栏中点击"Download dSYMs…"

        Add File 1

      4. dSYMs 会下载到对应的 Archive 归档内,右键点击对应Archive包,选择Show in Finder.

        Add File 1

      5. 右击Archive文件,选择“显示包内容”,在打开的文件夹中选择“dSYM”文件夹,该文件夹下新下载的dSYM文件,就是所需要的dSYM文件,若有多个新下载的dSYM文件,则每一个文件都需要进行上述的生成和上传操作.

        Add File 1

    • 未开启Bitcode 的应用,Archive包中已经存在的原始dSYM文件就是所需要的dSYM文件,不需要下载。