iOS自动Crash解析

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

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

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

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

  • dump_syms符号抽取工具
  • BaiduSymbolTool执行工具使用时,需要将这两个工具与dSYM文件放在同一目录下。
  • 生成Symbol文件

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

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

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

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

注意事项

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

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

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

请注意以下几点:

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

dSYM文件说明

  • 什么是dSYM文件?

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

  • 如何获取dSYM文件?

    • Debug开发状态

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

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

如图所示:

Add File 1

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

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

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

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

Add File 1

  1. -

选择Archive选项

Add File 1

  1. -

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

Add File 1

  1. -

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

Add File 1

  1. -

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

Add File 1

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