文档章节

手动解析CrashLog

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

根据 原文 总结

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

解决崩溃问题是移动应用开发者最日常的工作之一。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。好在目前已经有很多不错的第三方CrashLog搜集平台(如友盟、C...

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

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

bluehook
05/10
0
0
手动解析CrashLog之——原理篇

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

HeroHY
02/27
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是否匹配 原文地址:http://www.acwind.net/blog/?p=1090 Bug是永远伴随着程序员们的东西,各种各样的情况造成程序crash掉也是家常便饭。Windows下的很多大型软件...

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

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

卡奇匠
2016/07/26
35
0
golang Unmarshal 小问题

正常情况:func main() { str := var m map[string]interface{}json.Unmarshal([]byte(str), &m)fmt.Println(m) } 控制台打印: map[session_secret:6ce3910403a953006916f1fafef433c5 sess......

北京_
2015/08/28
0
0
EasyUI基础入门之Parser(解析器)

前言 JQuery EasyUI提供的组件包括功能强大的DataGrid,TreeGrid、面板、下拉组合等。用户可以组合使用这些组件,也可以单独使用其中一个。(使用的形式是以插件的方式提供的) EasyUI体系结构 ...

LCore
2014/07/11
0
9
Logtail从入门到精通(四):正则表达式Java日志采集实战

前言 为简化日志接入门槛,我们提供了极简模式的日志解析方式(如开启日志采集之旅中的介绍)。为了更好的对日志进行分析,我们还提供了其他解析方式,例如:分隔符模式、完整正则模式、JSO...

元乙
05/12
0
0
iOS 性能优化系列(一)-Time Profiler

1、这里控制记录过程,点击红色的"记录"按钮可以停止或开始当前正在分析的app(在记录和停止按钮之间切换),暂停键,如你所想,暂停当前正在运行的app。 2、这里是执行计时器(run timer),...

FTD_SL
2016/08/18
47
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
10
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0
分布式事务常见的解决方案

随着互联网的发展,越来越多的多服务相互之间的调用,这时候就产生了一个问题,在单项目情况下很容易实现的事务控制(通过数据库的acid控制),变得不那么容易。 这时候就产生了多种方案: ...

小海bug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部