如何分析iOS app crash 报告
2012-11-25 22:32
295 查看
最近在玩《永恒战士2》游戏,经常崩溃,然后救想知道为什么崩溃,我救研究了下crash 报告,然后用xcode 打开 看了 的很迷茫啊,
其实也不是很难,研究下,学习下原理就好了。
Xcode没有自动的进行符号化,这时候就需要自己去把地址解析成符号。
但是前提是,必须有相同版本xxx.app对应的.dSYM文件。(dSYM文件在build->Products->Debug-iphoneos下,就是debug的symbols文件,也就是将内存地址,转换成程序里的函数或变量和所属于的
文件名)
这时候打开Terminal,进入到build/Debug-iphoneos
使用命令:
atos -arch arm7 -o XXX.app/XXX
0xabcdef
atos
-o MyAPP 0Xxxxxxxx -arch armv7 -l XXXXX
-l 后面跟的是动态加载的初始地址
这样就会显示出你出现bug的确切的那一行,或者方法名字 。
(XXX是你的App名字,用需要解析的地址替换上面的0xabcdef
arm7是编译App时所用的Architecture,也可能是arm6,如果在simulator上的App,这个位置应该用i386)
$atos
的参考和用法:
atos -- convert numeric addresses to symbols of binary images or processes
SYNOPSIS
atos [-o <binary-image-file>] [-p <pid> | <partial-executable-name>] [-arch architecture] [-l <load-address>] [-s <slide>] [-printHeader]
[-f <address-input-file>] [<address> ...]
DESCRIPTION
The atos command converts numeric addresses to their symbolic equivalents. If full debug symbol information is available, for example in a
.app.dSYM sitting beside a .app, then the output of atos will include file name and source line number information.
其他参考资料:
http://stackoverflow.com/questions/5175990/ambiguous-iphone-crash-report https://developer.apple.com/library/ios/#technotes/tn2008/tn2151.html http://stackoverflow.com/questions/3065149/iphone-crash-log-doesnt-contain-methods-or-line-numbers?rq=1 http://www.cocoachina.com/macdev/cocoa/2010/0427/1222.html (推荐)
其实也不是很难,研究下,学习下原理就好了。
Xcode没有自动的进行符号化,这时候就需要自己去把地址解析成符号。
但是前提是,必须有相同版本xxx.app对应的.dSYM文件。(dSYM文件在build->Products->Debug-iphoneos下,就是debug的symbols文件,也就是将内存地址,转换成程序里的函数或变量和所属于的
文件名)
这时候打开Terminal,进入到build/Debug-iphoneos
使用命令:
atos -arch arm7 -o XXX.app/XXX
0xabcdef
atos
-o MyAPP 0Xxxxxxxx -arch armv7 -l XXXXX
-l 后面跟的是动态加载的初始地址
这样就会显示出你出现bug的确切的那一行,或者方法名字 。
(XXX是你的App名字,用需要解析的地址替换上面的0xabcdef
arm7是编译App时所用的Architecture,也可能是arm6,如果在simulator上的App,这个位置应该用i386)
$atos
的参考和用法:
atos -- convert numeric addresses to symbols of binary images or processes
SYNOPSIS
atos [-o <binary-image-file>] [-p <pid> | <partial-executable-name>] [-arch architecture] [-l <load-address>] [-s <slide>] [-printHeader]
[-f <address-input-file>] [<address> ...]
DESCRIPTION
The atos command converts numeric addresses to their symbolic equivalents. If full debug symbol information is available, for example in a
.app.dSYM sitting beside a .app, then the output of atos will include file name and source line number information.
其他参考资料:
http://stackoverflow.com/questions/5175990/ambiguous-iphone-crash-report https://developer.apple.com/library/ios/#technotes/tn2008/tn2151.html http://stackoverflow.com/questions/3065149/iphone-crash-log-doesnt-contain-methods-or-line-numbers?rq=1 http://www.cocoachina.com/macdev/cocoa/2010/0427/1222.html (推荐)
相关文章推荐
- 如何分析iOS app crash 报告
- ios app crash报告分析
- ios app crash报告分析
- iOS crash报告分析
- iOS App 崩溃报告符号化,.ips崩溃报告文件分析
- 如何高效利用思维导图收集灵感制作分析报告的6种模板鉴赏
- 如何写网站分析报告【转】
- 如何使用xcode配合instruments分析iOS内存泄露
- 【iOS Crash文件分析】-如何使用symbolicatecrash工具
- 如何写一篇数据分析报告 - (1)谁是用户(2)关键问题是什么
- 如何写互联网产品分析报告
- IOS app crash: 如何定位Crash 堆栈
- 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏
- 如何分析Analysis中各个图表的含义,写出性能测试报告(继续增加中)
- 教你如何生成一个简洁又美观的html报告及其简单分析(三)
- iOS开发如何通过UMeng的错误分析解决crash问题
- 网站优化实战:如何撰写优秀的网站分析报告
- iOS友盟崩溃地址解析 通过dSYM文件分析定位线上 APP crash问题
- “Linux内核分析”实验报告(一)分析汇编代码理解计算机是如何工作的
- 价值百万的企业大数据分析报告是如何炼成的?