.dSYM 文件分析

查看 xxx.app 文件的 UUID
dwarfdump --uuid xxx.app/xxx
查看 xxx.app.dSYM 文件的 UUID
dwarfdump --uuid xxx.app.dSYM
查看 xxx.crash文件的 UUID
xxx.crash 文件内第一行 Incident Identifier 就是该 crash 文件的 UUID。
使用 symbolicatecrash 分析 crash 日志

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

  • 找到symbolicatecrash的路径
find /Applications/Xcode.app -name symbolicatecrash -type f
  • 设置环境变量
vim ~/.bash_profile

// 输入如下内容
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
  • 将 crash 文件与 dSYM 文件拷贝到 symbolicatecrash 相同目录下
    执行命令获取解析后的 crash 文件
symbolicatecrash xxx.crash xxx.app.dSYM > crash.txt

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

// 设置下
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
使用 atos 查询单个堆栈地址
atos -arch  -o XXX.dSYM/Contents/Resources/DWARF/XXX -l  
atos -arch arm64 -o TheElements.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc

你可能感兴趣的:(.dSYM 文件分析)