使用Xcode系统symbolicatecreash解析崩溃日志

首先,先准备好Xcode系统的解析器symbolicatecreash,可以通过命令行,将解析器拷贝到你的解析崩溃日志的目录。

YzydeMacBook-Pro:~ tworld$ cd /Applications/Xcode.app 
YzydeMacBook-Pro:Xcode.app tworld$ find . -name "symbolicatecrash"
./Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
YzydeMacBook-Pro:Xcode.app tworld$ cp ./Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/tworld/Documents/crash 
YzydeMacBook-Pro:Xcode.app tworld$ 

然后再准备好你的崩溃日志,可以是ipa、plist、crash格式,最后是你的应用的.app文件和.DSYM文件(这个可以在Window->Organizer,在Archives里面选择与你的崩溃日志所匹配的包,show in Finder,再显示包内容,你就可以找到了),用Xcode5与Xcode6解析时所需要的文件有所不同,以防万一,我们都准备一下.app文件和.DSYM文件。

那么问题来了,如何确定你的包和你的崩溃是否匹配呢?
打开你的终端,输入以下命令:

YzydeMacBook-Pro:Xcode.app tworld$ dwarfdump --uuid test.app/test

或者

YzydeMacBook-Pro:Xcode.app tworld$ dwarfdump --uuid test.app.DSYM

就可以看到

UUID: 056D1293-C143-35A3-A656-48FA1090D9C0 (armv7) /Users/tworld/Documents/crash/test.app.dSYM/Contents/Resources/DWARF/test
UUID: C6FA551C-03C9-366B-96CE-D392E9CDFD1C (arm64) /Users/tworld/Documents/crash/test.app.dSYM/Contents/Resources/DWARF/test

这是包的唯一标识,当然哪怕是同一个应用的包生成两次,他的UUID还是会变的,接下来我们就来看看崩溃日志的对应标识在哪里。
这个时候我们打开崩溃日志,往下拉,看到Binary Images,在这个的下一行,就是我们要找的东西,然后我们比对一下,如果不是的话,那只能继续找别的包了…
如果我们找到包了的话,那就成功一半了,接下来就是敲命令行的事情了。

YzydeMacBook-Pro:Xcode.app tworld$ cd /Users/tworld/Documents/crash 
YzydeMacBook-Pro:crash tworld$ export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
YzydeMacBook-Pro:crash tworld$ ./symbolicatecrash 20140308.log test.app.dSYM > 1.txt

最后一个要提醒的事情是,千万不要把你需要解析的崩溃日志放在/tmp目录下面,放在/tmp目录下就导致symbolicatecrash找不到符号表文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值