用Xcode对线上版本Crashes日志进行解析

在APPStore发布应用以后,用户遇到的闪退情况都会被苹果记录。我们在Xcode中能够看到线上版本的crashes情况。 菜单栏依次点击 Window ->Organizer ,出现归档窗口。点击Crashes能看到2周以内的APP崩溃日志。
image.png
不过此时的日志还未全符号化,能解读的信息很少。接下来我们需要对 .crash文件进行全符号化。 操作如下:

1、 新建一个文件夹,(取名随意,例:crash),点击Archives,选择线上版本的归档文件,右键在文件夹中显示,再右键显示包内容,在dSYMs路径下找到APP的.dSYM文件,拷贝到新建的crash文件夹中。


dSYM文件所在路径

2、将Product路径下的APP文件也拷贝到crash文件夹中。


app文件所在路径

3、回到Crashes中,选择一个崩溃日志,右键在文件夹中显示,找到对应的xccrashpoint文件,右键显示包内容。在图中路径下找到crash文件,拷贝到crash文件夹中。(顺便改个短一点的名字,叫temp.crash,不然接下来的操作可能会报错 911)


crash文件所在路径

4、此时我们创建的crash文件夹下已经有三个文件了,还需要Xcode中的崩溃分析工具,也拷贝过来。网上有个找该工具的方法:

  find /Applications/Xcode.app -name symbolicatecrash -type f
不过需要注意,这里路径是Xcode的路径,如果是在下载文件夹中的路径,命令需要改成这样:
  find /Users/sh/Downloads/Xcode.app -name symbolicatecrash -type f
执行命令成功以后会给出路径,直接寻到改路径下找到 symbolicatecrash工具。
symbolicatecrash工具

然后拷贝到crash文件夹下,ok准备工作都完成了,crash文件夹下有4个文件。

image.png

5、使用终端,cd到crash文件夹下,执行命令

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

可能会报错

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

不过没关系,我们再使用一条命令

  export DEVELOPER_DIR=/Users/sh/Downloads/Xcode.app/Contents/Developer

这里还是要注意,前面路径是Xcode所在的路径,我这里Xcode是下载目录下的。

执行完毕,再执行第一条命令就ok了,我们可以看到crash文件夹里多了一个文件crash.log,这个就是全符号化的日志,打开看就可以了。

你可能感兴趣的:(用Xcode对线上版本Crashes日志进行解析)