做安卓开发的同学对于tombstone问题应该是很熟悉了,但是对于如何排查和分析值得总结和整理的,这篇文章对入门安卓开发的技术来说是个入门指导,同时对安卓开发的中高级开发也有借鉴。

首先我们来说下什么是tombstone  :

当一个动态库(native 程序)开始执行时,系统会注册一些连接到 debuggerd 的 signal handlers,当系统 crash 的时候,会保存一个 tombstone 文件到/data/tombstones目录下(Logcat中也会有相应的信息),文件的确就像墓碑一样记录了死亡了的进程的基本信息(例如进程的进程 号,线程号),死亡的地址(在哪个地址上发生了 Crash),死亡时的现场是什么样的(记录了一系列的堆栈调用信息)等等。

举例来看一个tombstone文件:

一个tombstone文件大概包含以下信息

--------- beginning of crash
F/libc    (  244): invalid address or address of corrupt block 0xb82f54a0 passed to dlfree
I/libc    (  244): debuggerd_signal_handler called: signal=11, fn=0xb6fbdaa1
F/libc    (  244): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadbaad in tid 244 (mediaserver)
I/libc    (  244): exit from debuggerd_signal_handler
W/NativeCras

addr2line 和 tombstone问题分析相关推荐

  1. Tombstone原理分析

    本文主要围绕三个问题对tombstone进行分析和介绍,debuggerd是如何监控进程并生成tombstone的?tombstone文件中的信息都是什么,是怎么获取的?tombstone文件应该怎么 ...

  2. Tombstone 文件分析

    Tombstone 文件分析 /* * 下面信息是dropbox负责添加的 **/ isPrevious: true Build: Rock/odin/odin:7.1.1/NMF26F/150086 ...

  3. tombstone问题分析

    tombstone文件包含了发生问题的进程ID信息 I/DEBUG ( 241): pid: 244, tid: 244, name: mediaserver >>> /system ...

  4. Android 蓝牙驱动专题分析(1)--- 蓝牙驱动代码流程、kernel dump、tombstone问题分析

    同学,别退出呀,我可是全网最牛逼的 Android 蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦. 一.概述 不 ...

  5. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )

    文章目录 一.从 Tombstone 报错日志中查找报错动态库 二.addr2line 命令行工具使用 64 位动态库使用的 aarch64-linux-android-addr2line.exe 工 ...

  6. Android tombstone 分析案例

    Android tombstone 分析案例 tombstone文件内容 1. 体系结构 2. 发生Crash线程 3. 原因 4. 寄存器状态 4.1 处理器工作模式下的寄存器 4.2 未分组寄存器 ...

  7. 一次Android App NDK崩溃问题的分析及解决

    文章目录 小结 NDK崩溃的问题 通过logcat查看崩溃日志 提取`tombstone`的记录 通过ndk-stack来输出日志 取得的日志 分析并解决 分析 使用add2line定位具体报错的行数 ...

  8. 深入学习tombstone和signal

    三驾马车(CPU,内存和存储设备)中,跑得最慢的就是存储设备了 电脑上,从HDD 到SSD,从SATA SSD到PCIe SSD,硬盘是越来越快: 手机上,从SD卡,到eMMC卡,再到UFS卡,存储卡 ...

  9. hprof文件分析工具_应用稳定性优化系列(三),资源泄露问题分析及定位

    继介绍稳定性ANR类故障和Crash/Tombstone类故障后,本章将介绍第三大类故障资源泄露及其典型场景.分析定位和解决方法. 1  资源泄露问题原因分析 2  典型泄露场景 静态变量长期维持到大 ...

最新文章

  1. 数据库面试题【一、事务四大特性】
  2. 高性能队列 Disruptor
  3. Ajax的两种实现方式
  4. 我的世界java1.15.2光影_我的世界1.15.2简单forge服务器搭建笔记
  5. echarts地图地名显示_echarts地图 省份名称自定义位置和居中解决办法
  6. Python二维数组,坑苦了
  7. 行政管理专业考计算机研究生分数,行政管理学,考研,历年分数线是多少?
  8. vivado 下载程序出错:ERROR: [Labtools 27-3165] End of startup status: LOW
  9. mnist手写数字识别与优化
  10. MBA——mba的9堂课
  11. 高配游戏组装电脑配置清单表 2021 组装电脑配置推荐2021
  12. c语言如何实现一只蜗牛爬的循环,[工程科技]第五章 循环结构程序设计c语言程序设计.ppt...
  13. 解决UDP出现的10054错误
  14. 2022-2028全球与中国脚手架市场现状及未来发展趋势
  15. php 分隔视频,视频画面分割器怎么将视频画面分割成三部分?怎么分割视频画面并凸显部分?...
  16. 阅读Learning towards Minimum Hyperspherical Energy笔记
  17. JRebel热部署,从此告别一遍一遍重启项目
  18. 理财系列 2 股票体检指标之市盈率
  19. 试论私营企业财务管理特征
  20. 一个学校组织的计算机网络属于,计算机网络基础知识试题及答案

热门文章

  1. Sqlite3_prepare
  2. python3.8怎么打开创建_Python 3.8 新功能大揭秘【新手必学】
  3. 【转】3.4(译)构建Async同步基元,Part 4 AsyncBarrier
  4. 使用Linq时出现Row not found or changed. Linq 找不到行或行已更改的解决办法
  5. [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理
  6. linux virt java_Linux下Java环境安装
  7. python断点调试_「Python调试器」,快速定位各种疑难杂症!!!
  8. zookeeper完全分布搭建-安装-配置
  9. 【Python 标准库学习】容器数据类型库 — collections
  10. 【POJ - 2663】Tri Tiling (简单dp)