错误日志分析(dSYM)-2016

错误日志分析

(下面所有步骤的命令有多处地方需要修改:地址0x1002e5cac用户名yourAppName具体archive文件。)

第一步:打开terminal,修改为自己当前登录的用户名,然后拷贝到terminal运行。输入:cd /Users/用户名/Library/Developer/Xcode/Archives/

第二步:输入ls,会发现有很多日期(如果已经archive多次的话),其实是根据日期命名的文件名。根据时间,进入自己当前需要分析的文件,比如输入:cd 2016-02-16/

第三步:输入ls,发现有若干个'.xcarchive'类型的文件。此时需要进入你需要分析的那个目标文件。

输入:cd yourAppName\ 16-2-16\ 上午10.34.xcarchive/dSYMs/  。其中yourAppName修改为ls后看到的,‘.xcarchive’文件前面的那个‘单词’(实际是你的PRODUCT_NAME或者叫Bundle name)


第四步:输入dwarfdump --uuid yourAppName.app.dSYM  。会输出下面的:

UUID: 122BF0DE-4A59-31E2-A7E3-1159C46A5912 (armv7) yourAppName.app.dSYM/Contents/Resources/DWARF/yourAppName

UUID: 63817F76-FEA6-3A4D-A16B-71DAD5FB7082 (arm64) yourAppName.app.dSYM/Contents/Resources/DWARF/yourAppName


第五步:对比uuid,是否为你需要的(如果不是,重复上面步奏)。然后就可以根据地址,转化为具体的代码错误位置。输入如下:

dwarfdump --arch=armv7 --lookup 0x1002e5cac /Users/用户名/Library/Developer/Xcode/Archives/2016-01-15/yourAppName\ 16-1-15\ 上午10.43.xcarchive/dSYMs/yourAppName.app.dSYM/Contents/Resources/DWARF/yourAppName

其中:arch=(第四部对应的architectures,比如armv7或者arm64,最好用拷贝的。因为我最初研究时将别人的拷贝后,改armv7,为armv64,实际是arm64,所以搞了半小时都没正确获取)


在排除错误的过程中,错误日志是一个堆栈的一个形式,最上面的是最后进入的,所以最底下的带yourAppName的那个地址是main文件所在位置。判读哪个地址是我们需要时,最好从下往上,选择带yourAppName的那些地址去‘转换’。

参考:

解析IOS崩溃日志(crash Log)

iOS应用崩溃日志分析



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值