使用symbolicatecrash工具符号化Crash日志

Posted 滴水微澜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用symbolicatecrash工具符号化Crash日志相关的知识,希望对你有一定的参考价值。

对于打包上线的APP,或者打包测试的APP,出现了崩溃并不能方便的把手机链接到电脑使用XCode自动符号化,此时手动符号化就是重要的选项。

1.查找符号化工具symbolicatecrash
find /Applications/Xcode.app -name symbolicatecrash -type f
2.添加环境变量
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
3.把Dsym文件,crash文件,symbolicatecrash文件放到桌面同一个文件夹下
4.确认当前崩溃.crash文件与拿到的Dsym文件是否属于同一个App版本
获取符号文件的UUID: dwarfdump --uuid dSYM文件路径
对比崩溃日志中的UUID。 在崩溃.crash文件Binary Images:段中做对比。
5.执行符号化
./symbolicatecrash CrashName.crash AppName.app.dSYM > result.crash
 
脚本如下:
#!/bin/sh

# 使用方式:sh _symbolCrash.sh CrashName.crash路径 AppName.app.dSYM路径
# 保存外部传参
paramNum=$#
crashPM1=$1
symbolPM2=$2
readonly location=`pwd`
tempPath=""

#1.增加环境变量
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

#2.查询符号化工具symbolicatecrash
tool=`find /Applications/Xcode.app/Contents -name symbolicatecrash -type f`
echo "查询到符号工具路径为:\\n $tool"

#3.查询崩溃文件中UUID
uuid=`dwarfdump --uuid $symbolPM2`
echo "DSYM文件中UUID为:\\n $uuid"

#4.符号化结果, crash文件路径 symbol符号路径先后顺序不能变
rm ~/Desktop/Result.crash
$tool $crashPM1 $symbolPM2 > ~/Desktop/Result.crash

open ~/Desktop/Result.crash
使用方法:
进入到脚本所在的目录
打开终端,在终端输入脚本指令: sh _symbolCrash.sh
然后依次拖入Crash文件,Dsym文件到终端
点击enter, 等待输出结果。
 
 
 

以上是关于使用symbolicatecrash工具符号化Crash日志的主要内容,如果未能解决你的问题,请参考以下文章

iOS小技能:iOS15崩溃排查技巧(symbolicatecrash符号化分析问题导出和隐藏符号)

强制 symbolicatecrash 使用特定的 .app 和 .dSYM 文件?

iOS系统app崩溃日志手动符号化

symbolicatecrash 找不到任何符号

无法使用 symbolicatecrash 将地址转换为符号(XCode 4.0.2 - 目标设备 iPad)

iOS-symbolicatecrash符号化Crash文件