Xcode分析CrashLog的方法
来源:互联网 发布:aplayer.js 编辑:程序博客网 时间:2024/06/02 11:13
Bug是永远伴随着程序员们的东西,各种各样的情况造成程序crash掉也是家常便饭。Windows下的很多大型软件在崩溃的时候,都会弹出提示框,询问用户是否将crash的信息发送到软件厂商,以供软件开发商debug。App store中的软件也有这个功能,用户在使用软件的时候,如果程序崩溃,错误信息会发送到Apple的服务器中,软件的开发者们可以很方便在后台获得自己程序的crash log,供自己调试。
但随之而来的问题是,我们收到的程序崩溃调试信息多半是汇编语言一样的堆栈代码,同时这些信息并不是在我们debug的时候产生,所以看到这一串crash log的天书,常常无可奈何。Xcode很好的解决了这一问题,它所提供的Orgainzer分析器加上symbolicatecrash,可以分析二进制文件以及源代码和crashlog之间的连接,直接找出源程序中出错的代码行。方法网上到处是,本文不讨论。
但是如果使用symbolicatecrash无法定位到出错的代码行的话,怎么整呢?有一个办法,如下:
首先查看crash log中的崩溃线程,假如是这样的:
Thread 0 Crashed:
0 libobjc.A.dylib 0x00003ec0 objc_msgSend + 24
1 MyApp 0x000036d2 0×1000 + 9938
我们得到了用户发生崩溃情况的内存地址:0x000036d2
然后回到我们应用程序的build目录,目录下一定要包含MyApp.app 和MyApp.app.dSYM两个文件。
在控制台使用dwarfdump命令,解析出内存地址,如:
dwarfdump –lookup 0x000036d2 –arch armv6 MyApp.app.dSYM
输出信息如下:
直接定位到代码的出错行,Cool!
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- Xcode分析CrashLog的方法
- 分析IOS CrashLog的方法
- XCode CrashLog符号化分析
- 对crashlog大小不一致的分析
- iOS crashlog符号化方法
- ios开发-利用Xcode分析crashlog,并将其字符串化
- CrashLog
- iOS开发 -- 分析CrashLog (2) 无dsym文件解crashlog
- iOS开发 -- 分析CrashLog (1) symbolicatecrash+Organizer
- 非开发人员获取ios crashlog方法
- 非开发人员获取ios crashlog方法 .
- iOS开发 -- 分析CrashLog (3) Hopper逆向分析
- 各种基本算法实现小结(四)—— 图及其遍历
- Linux多进程之间LOG模块的实现方式讨论
- [HEVC] HEVC学习(四) —— 帧内预测系列之二
- 设备驱动的分层思想
- From HTML to Excel
- Xcode分析CrashLog的方法
- 各种基本算法实现小结(六)—— 查找算法
- http://codeforces.com/contest/7/problem/A
- [HEVC] HEVC学习(五) —— 帧内预测系列之三
- 各种基本算法实现小结(七)—— 常用算法
- 量化:大数据时代的企业管理
- 【转载】Java注解Annotation详解
- 酒店管理系统,您选对了吗?
- [HEVC] HEVC学习(六) —— 帧内预测系列之四(下)