文档章节

手动解析CrashLog

asjoker
 asjoker
发布于 2016/08/05 10:01
字数 293
阅读 8
收藏 1

根据 原文 总结

Your                              0x000f0846 0xa2000 + 321606

应用崩溃发生在运行时地址0x000f0846,该进程的运行时起始地址是0xa2000,崩溃处距离进程起始地址的偏移量为十进制的321606(对应十六进制为0x4E846)。三者对应关系

0x000f0846 = 0xa2000 + 0x4E846

崩溃堆栈中的起始地址和崩溃地址均为运行时地址,根据虚拟内存偏移量不变原理,只要提供了符号表TEXT段的起始地址,再加上偏移量(这里为0x4E846)就能得到符号表中的堆栈地址,即:

符号表堆栈地址 = 符号表起始地址 + 偏移量

atos提供了另外一种无需计算崩溃地址对应的符号表地址的方式,命令格式如下:

$atos -o Your.app.dSYM/Contents/Resources/DWARF/Your -arch armv7 -l 0xa2000 0x000f0846

其中-l选项指定了二进制文件在运行时的起始地址0xa2000(获取方式见Binary Images相关内容),后面跟的是崩溃发生的运行时地址0x000f0846,解析结果和使用计算得到的符号表中崩溃地址一致:

-[OBDFirstConnectViewController showOilPricePickerView] (in Your) (OBDFirstConnectViewController.m:882)

© 著作权归作者所有

共有 人打赏支持
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
私信 提问
手动解析CrashLog之——原理篇

接下来再说说dwarfdump、atos等解析工具是如何从符号表文件中获取到崩溃位置信息的。一切还得从.dSYM符号表文件开始说起。 一、.dSYM文件的生成 符号表文件.dSYM实际上是从Mach-O文件中抽取调...

HeroHY
02/27
0
0
第一个IOS APP后续(审核,上架)

上一篇《第一个IOS APP总结 》我觉得预留2个星期审核上架应该够了,实际上用了1个星期,提交第5次版本审核过,相当于修改了4次,纪录一下避免下次再犯错。 1.0.1版是第一个版本:拒绝! 说是...

bluehook
05/10
0
0
【Android】简单的日志工具

Android Log 地址 : https://github.com/xesam/AndroidLogTools 现在包含两个类: 打印日志 崩溃记录 使用方式 打印日志 L 对 android.util.Log 的简单封装,支持 d(Object... content) 的调...

xesam
2015/10/20
74
0
【转】Xcode分析CrashLog的方法

使用dwarfdump检查dSYM和app是否匹配 搞iPhone开发就要不停地发版本,随之而来的就是各种版本的crash log。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。 ...

长平狐
2012/08/13
790
0
资源分享

分享链接 iOS开发系列--音频播放、录音、视频播放、拍照、视频录制的详细说明,包括框架等: http://www.cnblogs.com/kenshincui/p/4186022.html - autoid-0-0-0 求职大课堂之面试篇丨如何回...

卡奇匠
2016/07/26
35
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部