解析iOS版本crash log日志文件的方法

本文介绍如何使用Xcode自带的symbolicatecrash工具解析崩溃日志,并通过dwarfdump验证dSYM文件与应用的一致性,确保能够准确地定位问题。

查找symbolicatecrash:
打开终端输入以下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
你会找到:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

切换到桌面的Crash目录下: cd ~/Desktop/crash1
./symbolicatecrash /Users/guangzhoutuosheng/Desktop/crash/crash-report-mkt\ copy-1.txt /Users/guangzhoutuosheng/Desktop/crash/mktcopy.app.dSYM > Control_symbol.crash

这时候终端有可能会出现:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60
输入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
再执行./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash 这时候终端将会进行处理了

处理结果是生成一个新的文件symbol.crash。这个文件就能用于分析了。

获取app UUID

命令:dwarfdump --uuid YourApp.app.dSYM

       

使用dwarfdump检查dSYM和app是否匹配


搞iPhone开发就要不停地发版本,随之而来的就是各种版本的crash log。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。
MAC上有个免费的小工具——dwarfdump,可以简便地检测出app和相应的dSYM。

使用起来很简单。分三步即可。
1> 根据crash log,得到App的UUID。UUID是个字符串,由32个字符组成。得到了UUID,你才能知道是你的哪个版本在用户的iPhone上出了问题。

2> 使用dwarfdump检查app,看哪个app是上面那个UUID。命令行格式:
dwarfdump --uuid YourApp.app/YourApp

3> 用dwarfdump检查dSYM文件是否是上面的UUID。命令行格式:
dwarfdump --uuid YourApp.app.dSYM

如果三者的UUID都是一致的,那么恭喜你,该crash log可以被正确解析出来,stack traces信息可以被正确地拿到。

转载于:https://my.oschina.net/u/2418271/blog/547511

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值