服务端如何符号化iOS的崩溃信息

问题: 怎样在服务端symbolicate(符号化)iOS端上传的崩溃信息?

现在需要做一个APM(应用性能管理), 崩溃日志分析是其中的一个功能.

大致了解了,崩溃日志涉及到以下内容:

  • 编译打包一个版本后需要用到.app, .app.dSYM文件.
  • .app, .app.dSYM的UUID必须相同.
  • Apple提供了两个工具将崩溃信息的堆栈地址符号化
    • symbolicatecrash: 限制是只能分析官方格式的崩溃日志, 需要从具体的设备中导出, 获取不方便, 符号化没有行号信息, 经常出现符号化失败的情况.
    • atos: 优点是可以将地址转化成函数名和行号.
  • 建议每个版本建立一个文件夹来存放 .app, .app.dSYM文件.

其实符号化崩溃信息也没什么难,不就是iOS端上传崩溃数据到后端,后端通过符号化工具来输出数据.

不过, 如果你的服务器是运行在Linux上的, 则atossymbolicatecrash就不能使用了.

不过Facebook开源了一个可以运行在Linux的符号化工具atosl. 还没有具体去用,不知道有没有坑.

参看:

iOS Symbolication Server side

iOS崩溃堆栈符号化,定位问题分分钟搞定!

推荐阅读更多精彩内容