如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料

如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料

ID:44605311

大小:142.34 KB

页数:6页

时间:2019-10-24

如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料_第1页
如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料_第2页
如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料_第3页
如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料_第4页
如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料_第5页
资源描述:

《如何手动解析CrashLog_计算机软件及应用_IT计算机_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何手动解析CrashLog解决崩溃问题是移动应用开发者最日常的工作z—。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。好在目前已经有很多不错的第三方CrashLog搜集平台(如友盟、Crashlytics等)为我们做好了解析工作,甚至在Xcodc7里苹果也跟进了解析线上版本崩溃日志的功能,为开发者减轻了不少负担。尽管通常已经不需要我们手丁处理CrashLog,了解CrashLog的还原原理和方法还是有必要的。一、・dSYM.dSYM(debuggingSYMbols)又称为调

2、试符号表,是苹果为了方便调试和定位问题而使用的一种调试方案,木质上使用的是起源丁•贝尔实验室的DWARF(DebuggingWithAttributedRecordFormats),其在.xcarchive目录屮的层次结构为:1・・xcarchive2・--dSYMs3・

3、一一Your・app・dSYM4.

4、——Contents5・

5、一一Resources6・

6、--DWARF关于DWARF的具体内容以后有机会再说。我们能解析CrashLog全靠.dSYM文件,解析方式见后文。二、确定符号表和崩溃日志的一致

7、性有了符号表文件,有了崩溃FI志文件,在解析之前一定要确保二者的对应关系,否则就算按照下述步骤解析出内容也肯定是不准确的。二者的对应关系可以通过UUID来确定。1、从崩溃日志中获取UUID崩溃日志比较靠卜•的位置有个BinaryImages模块,其第一彳亍内容如卜•:1・BinaryImages:2.0x^2000-0x541fffYourarmv7/var/mobile/Containers/Bundle/Application/645D3184-4C20-4161-924B-BDE170FA64CC/

8、Your・app/Your从屮可以看到关于你应用的若干信息:代码段的起终地址为:0xa2000-0x541fff运行你应用的CPU指令集为:armv72、从符号表中获取UUID执行以下命令从符号表中提取UUID:1.dwarfdump一一uuidYour・app・dSYM或者:1.dwarfdump一-uuidYour.app.dSYM/Contents/Resources/DWARF/Your执行结果为:1・UUID:A5C8D3CF-DA65-3966-89E4-370BF3A0AC64(armv7)

9、Your・app•dSYM/Contents/Resources/DWARF/Your由此得到armv7指令集的UUID为:A5C8D3CF-DA65-3966-89E4-370BE3A0AC64(如果你的二进制文件支持多个指令集,这里会列出每个指令集对应符号表的UU1D),通过和崩溃日志中的对比发现二者一致,才可进行进一步的解析操作。三、计算崩溃符号表地址以下面的崩溃堆栈为例:1•Thread0:1.0libobjc.A.dylib0x33flOf600x33efeOOO+776643・1Foundat

10、ion0x273526ac0x2734a000+344764.2Foundation0x27355c3e0x2734a000+481905.3UIKit0x29ef9dlc0x29bbc000+33989406.4UIKit0x29ef9c9a0x29bbcOOO+33988107.5UIKit8・6UIKit9.7UIKit0x29ef954c0x29c3al6a0x29e4b8e60x29bbc000+33969400x29bbc000+5164580x29bbc000+268515810111213

11、14151617188UIKit0x29c3al280x29bbc000+5163929Your0x000f08460xa2000+32160610UIKit11UIKit12UIKit13UIKit14UIKit0x29e90fb20x29bbc00029695220x29e910760x29bbc00029697180x29e867cc0x29c9e8ea0x29bc8A640x29bbc0000x29bbc0000x29bbcOOO29265409279785181815QuartzCore0x29

12、5f0a080x295^4000+5172016QuartzCore0x295ec3e00x295^4000+3376017QuartzCore0x295ec2680x295^4000+3338420212223242526272829303118QuartzCore0x295ebc4c0x295^4000+3182019QuartzCore0x295eba500x295e4000+3131221CoreFoundation0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。