Xcode 7.3 解析(符号化) iOS Crash 文件(.crash)

0. 准备好 .dSYM

首先,准备好需要解析的 .crash 文件,以及 .crash 文件所对应的 .dSYM 文件:

  • .crash
  • .dSYM

1. 配置 Xcode 的解析工具 symbolicatecrash

Xcode 7.3 的 symbolicatecrash 路径为:

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

Xcode 其他版本:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKit.framework/Versions/A/Resources
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources

可以直接将 symbolicatecrash 拷贝到的 .crash 文件所在路径,也可以像笔者这样建立软连接,方便下次使用:

建立软连接

ln -s /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/waterforest/bin/symbolicatecrash

PS: /Users/waterforest 是笔者的用户路径,请换成自己的用户路径。建立软连接时,需要使用绝对路径,否则会遇到 Too many levels of symbolic links 的错误。

export PATH

编辑 ~/.bash_profile(笔者用的是 zsh,所以这里编辑的是 ~/.zshrc),在末尾添加:

export PATH="$HOME/bin:$PATH"

2. 配置环境变量 DEVELOPER_DIR

如果不配置 DEVELOPER_DIR,你会在执行 symbolicatecrash 时遇到如下错误:

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

临时方法:

打开终端,输入命令:

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

永久方法:

  1. 编辑 ~/.bash_profile(笔者用的是 zsh,所以这里编辑的是 ~/.zshrc),在末尾添加:
# Add environment variable DEVELOPER_DIR  
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer  
  1. 重启终端 或者 source 第一步中修改的配置文件
source ~/.bash_profile
source ~/.zshrc

3. 查看 .dSYM 文件的 UUID

dwarfdump --uuid Weibo.app.dSYM
查看 .dSYM 文件的 UUID

4. 查看 .crash 文件的 UUID

Xcode 7.3 解析(符号化) iOS Crash 文件(.crash)_第1张图片
.crash 文件的 UUID

5. 解析 .crash 文件(符号化)

如果 .crash 文件的 UUID 与 .dSYM 文件的 UUID 一致,就可以开始解析 .crash 文件了。

命令格式如下:

symbolicatecrash [.crash 文件] [.dSYM文件] > [输出文件]
解析 .crash 文件

参考资料

  • 分析iOS Crash文件:符号化iOS Crash文件的3种方法
  • 使用Symbolicatecrash和xcrun atos分析crash log
  • 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
  • iOS应用崩溃日志揭秘
  • [Xcode7.3工具解析App崩溃日志(.crash文件)]

你可能感兴趣的:(Xcode 7.3 解析(符号化) iOS Crash 文件(.crash))