iOS崩溃信息符号化

原创 2015年11月21日 15:57:53

iOS崩溃信息符号化

一、获取崩溃信息的方法

获取崩溃信息的方法主要有以下几种:

  1. 如果可以拿到崩溃的机器,将崩溃信息连击到Xcode, 找到device logs 就可以得到崩溃日志。
  2. 可以从苹果开发者网站中看到官方的崩溃上报,但是局限于用户允许上报。如果是苹果开发者,在新版本的Xcode中,可以直接获取到崩溃日志。
  3. 使用三方崩溃统计或者自己捕获崩溃信息,并上传到后台。
二、了解崩溃信息

随便在xcode里找到的一个崩溃log

我们可以从图中看到一些基本的信息如:使用设备的型号、崩溃的进程、版本号、架构、崩溃时间、崩溃类型、还有一大推我们不认识的十六进制的数。
这些信息足够多,足够丰富但是对于不是机器的我们来说,并没有什么意义,想要找到到底为什么崩溃了,我们得把这些信息转换成我们认识的类的名称、函数名称、代码行号。

三、崩溃信息的符号化

有了崩溃信息,我们还需要有对应崩溃版本Xcode 编译时产生的.app 文件和.dSYM文件。每次编译都会产生产生这些文件,我们可以在Xcode 的目录下找到。

符号化的方法主要有三种
1. 使用Xcode自动符号化
2. 使用 Symbolicatecrash 符号化,这是Xcode自带的分析工具。使用方法为 Symbolicatecrash + xx.crash + xx.dSYM + > + result.crash。 Symbolicatecrash 使用过程中可能有一些问题,网上有很多大神有详尽的解决办法,这里就不多说了。
3. 使用xcrun atos 符号化。这种工具的使用方法有很多,我只列出一种亲测可用的,方法为
xcrun atos -arch armv7s -o xxx.app/xxx -l 0xe2000 0x00110373
其中 armv7s为我们在崩溃信息中看到的架构,xxx.app为编译产生的.app文件 0xe2000 为崩溃线程中 + 号前面的地址 0x00110373 为 0xe2000 前边的地址。

其中前两种方法需要官方崩溃日志的格式,也就是说需要完整的.crash 文件,最后一种可以用于没有完整的崩溃日志时使用的方法。需要一行一行的符号化,会写脚本的可以写个脚本来完成一次性符号化。

相关文章推荐

iOS Crash 分析(文三)- 符号化崩溃日志

iOS Crash 分析(文三)- 符号化崩溃日志 未符号化的崩溃日志就象一本天书,看不懂,更别谈分析崩溃原因了。所以我们在分析日志之前,要把日志翻译成我们可以看得懂的文字。这一步我们称之为...

ios 崩溃日志 符号化

1.准备测试代码 在applicationDidFinishLaunching() 方法里 调用 setPosffffff(nullptr);  这样必定会出现崩溃,因为 node为空 去调用setP...

iOS Crash 分析(文三)- 符号化崩溃日志

iOS Crash 分析(文三)- 符号化崩溃日志 未符号化的崩溃日志就象一本天书,看不懂,更别谈分析崩溃原因了。所以我们在分析日志之前,要把日志翻译成我们可以看得懂的文字。这一步我们称之为...

iOS崩溃堆栈符号化,定位问题分分钟搞定!

转载自:  http://bugly.qq.com/blog/?p=119 最近一段时间,在跟开发者沟通过程中,萝莉发觉大家对iOS的应用符号表还不是很清楚,除了咨询关于符号表生成、配置的问...

iOS崩溃堆栈符号化,定位问题分分钟搞定!

首先,进行常识“脑补”。 1. 符号表是什么? 符号表就是指在Xcode项目编译后,在编译生成的二进制文件.app的同级目录下生成的同名的.dSYM文件。 .dSYM文件其实...

iOS崩溃堆栈符号化,定位问题分分钟搞定!

最近一段时间,在跟开发者沟通过程中,萝莉发觉大家对iOS的应用符号表还不是很清楚,除了咨询关于符号表生成、配置的问题以外,对Bugly崩溃分析需要配置符号表也存在疑问。 在这里,萝莉就给大家分享...

iOS崩溃堆栈符号化,定位问题分分钟搞定!

最近一段时间,在跟开发者沟通过程中,萝莉发觉有些开发者对iOS的应用符号表还不是很清楚,除了咨询关于符号表生成、配置的问题以外,对Bugly崩溃分析需要配置符号表也存在疑问。 在这里,萝莉就给大家分...

ios--Crash log符号化与调试信息

这篇文章主要整理了crash log的符号化解析和调试信息与配置相关的一些内容。 对于做移动App开发的来说,质量和体验都是很重要的。一个客户端应用如果经常“闪退”,是产品质量很差的一个体现,用...

xcode 符号化崩溃日志.crash 或 .ips文件

符号化崩溃日志

Symbolicatecrash符号化App崩溃日志

就iOS而言,如果应用程序出现奔溃,系统会记录这次奔溃时的系统快照,这就是crash log。应用程序的崩溃日志,使用的是符号话标记,也就是说只是记录了崩溃时,调用堆栈的一些内存信息。这些信息,对于研...
  • liuwin7
  • liuwin7
  • 2015年01月22日 15:33
  • 788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS崩溃信息符号化
举报原因:
原因补充:

(最多只允许输入30个字)