博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios Crash Log 分析汇总
阅读量:4614 次
发布时间:2019-06-09

本文共 1328 字,大约阅读时间需要 4 分钟。

方法一:

 

1.xcode 有自带的symbolicatecrash,可以将.crash文件中的16进制地址转换成可读的函数地址。

symbolicatecrash位于:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash(Xcode 4.5)

可以将symbolicatecrash拷贝到便于操作的目录。

如:将其拷贝到Desktop/iphonedug文件夹中。

 

2.每一次Build之后会有相应的xxx.app, xxx.app.dSYM文件,.dSYM文件是将Build之后的文件16进制地址对应的函数地址储存起来之后的文件。

每一个xx.app, xxx.app.dSYM文件都拥有相应的uuid,crash文件也有uuid,只有三者uuid一至才表明之三者可以解析出正确的日志文件。

查看xx.app文件的uuid的方法,在terminal中输入命令:dwarfdump --uuid xxx.app/xxx (xxx工程名)

查看xx.app.dSYM文件的uuid的方法,在terminal中输入命令:dwarfdump --uuid xxx.app.dSYM (xxx工程名)

而.crash的uuid位于,crash日志中的Binary Images:中的第一行。如:armv7s  <13760bde0d073f1eb4d596c3df753f4b>

将对应的xx.app, xx.app.dSYM文件也拷贝到Desktop/iphonedug文件夹中

 

3.使用symbolicatecrash解析.crash日志。

在terminal中输入命令:./symbolicatecrash xxx.crash xxx.app.dSYM > test.log

这样可以将.crash日志转换成test.log,test.log即可读的函数文件。

输入上述命令可能会出现Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.这个错误。

如果出现上述错误,输入命令:export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer,

然后继续执行./symbolicatecrash xxx.crash xxx.app.dSYM > test.log可以成功

 

方法二:

使用命令:atos -o xxx.app/xxx -arch armv7 0x38ad42f9 0x38ad42f9 0x38ad42f9(多个16进制地址,使用空格分开)

注意.app, .app.dSYM需要跟日志程序版本build一致

 

转载于:https://www.cnblogs.com/yingkong1987/p/3157705.html

你可能感兴趣的文章
Finding LCM LightOJ - 1215 (水题)
查看>>
python生成器
查看>>
PowerDesigner Constraint name uniqueness 错误
查看>>
系统子系统_GPRS子系统流程图
查看>>
为什么 NSLog 不支持 Swift 对象(转)
查看>>
Ubuntu 下搭建SVN服务器
查看>>
css3转换
查看>>
useradd -M -s /sbin/nologin mysql -g mysql 报错 Creating mailbox file
查看>>
python的字典和json转的互转
查看>>
WCF
查看>>
15.02.13-代码小技巧
查看>>
剑指offer31----栈的压入、弹出序列
查看>>
读取文件,按行输出
查看>>
UVA 11825 Hackers' Crackdown - 状压dp
查看>>
正则表达式
查看>>
向PHP发送HTTP-Get请求
查看>>
本周作业
查看>>
Python中的 matplotlib(二)随机漫步
查看>>
rsyslog 传输日志
查看>>
14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
查看>>