iOS崩溃日志符号化

官方文档  Understanding and Analyzing Application Crash Reports


crash日志有助于我们快速定位,但是一堆地址看不到,所以将日志符号化将更加让我们能看懂日志。

方式1)获取崩溃日志自行进行符号化。

方式2)借助第三方服务,通过第三方平台直接符号化 。

这里主要介绍下方法1自行符号化过程

主要需要三个文件:


1. last.crash 崩溃日志

找到方法 :

1).xocde菜单 

 选择 Window——>Organizer.  选择 crashes

2).当手机连接Xcode进行测试时,可以直接查看崩溃信息。

具体方法打开 window->Devices & Simulators

然后点击View Device Logs

3).手机:

设置——>隐私——>分析——>分析数据

可以找到应用程序崩溃信息。是 .ips文件将数据可以通过qq分享 然后将.ips 文件修改为.crash 文件。(注意 找这个文件是按照你项目名称首字母进行排序的 不是按时间)


2.dSYM   文件是ios编译后保存16进制函数地址映射信息的文件

找到方法:

xocde菜单  选择”Window——>Organizer”。

选择Archives 找到对应的线上的版本  ——> 右键 show in finder  ——>右键显示包内容

3.symbolicatecrash 

Xcode有自带的symbolicatecrash工具,可以通过dSYM文件将crash文件中的16进制地址转换成可读的函数地址。symbolicatecrash工具位于:

找到位置:

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

注意 xcode版本不同位置可能不一样。

最后将三个文件放入到一个文件夹 比如 crashFile

打开终端执行语句

1)  //CD到存放这三个文件目录下

cd/Users/xxx/Desktop/crashFile

2) //进行crash日志解析

./symbolicatecrash ./*.crash ./*.app.dSYM > log.crash 

如果报错:

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

需要接着输入下面这条指令,告诉终端 "DEVELOPER_DIR" 的位置

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

在执行

./symbolicatecrash ./*.crash ./*.app.dSYM >log.crash 

之后会出现一个新的  log.crash

log.crash 就是想要的文件。

你可能感兴趣的:(iOS崩溃日志符号化)