addr2line 和 tombstone问题分析

        做安卓开发的同学对于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow(3)-与训练相关的操作

与训练相关的操作0 gpu版本的tensor flow安装1. tf.control_dependencies(update_ops)0 gpu版本的tensor flow安装 cuda10.2 conda create -n py27 python2.7 conda activate py27 pip install tensorflow1.14.0 验证 gpu版本的tensor可用 import tensorflow as tf print(tf.t…

leetcode14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar",&quo…

Android在子线程里使用Toast报错Can't toast on a thread that has not called Looper.prepare()

在接android SDK的时候有时候为了方便debug调试查看,通过Toast输出相关信息, 实际上这个是在子线程中输出的,在logcat里查看有如下报错java.lang.RuntimeException: Cant toast on a thread that has not called Looper.prepare()。 解决办法…

虚拟机安装windows2012和虚拟机安装国产系统deepin

虚拟机安装windows2012和虚拟机安装国产系统deepin 一.安装windows20121.安装VMWare虚拟机2.1.注意点一:VMWare虚拟网卡2.2.注意点二:配置虚拟网络编辑器3.安装配置Windows Server 2012 R2 二.虚拟机安装deepin1.deepin官网下载ios镜像2.deepin下载合适的…

leetcode876 链表中间的结点

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 …

TensorFlow(4)-TFRecord

TFRecord1. tf.train.Example1.1 tfrecord 数据范式转化1.2 demo 数据集构建2. TFRecord 读写2.1 写入1-tf.io.TFRecordWriter()2.3 读取-tf.data.TFRecordDataset()2.3 data -> dataset -> 存储-tf.data.experimental.TFRecordWriter()tfrecord 用于存储二进制序列数据的…

Playfab开发(一)如何调用PlayFab接口

本人从事海外游戏制作和发行,参与了不少海外研发团队studio的项目,这里我将个人接触到的一些使用Playfab开发的项目心得分享给大家。 PlayFab简介 playfab是一家主要为游戏开发人员提供游戏开发和管理的跨平台工具及服务的公司, PlayFab正在构建当今游戏所需的所有基于云的…

PlayFab(二)如何通过Demo应用来进一步熟悉Playfab

有时候刚开始接触新的平台会两眼一麻黑,不过这个文章希望能给读者一些启示,Playfab默认会给开发者提供一个应用,这里我暂且叫他”我的游戏“; 我通过官网提供的DEMO测试地址: https://www.vanguardoutrider.com/#/ 来为该应用配置服务器。 如果你是第一次进入这个页面想为…

leetcode718 最长重复子数组

给两个整数数组 A 和 B &#xff0c;返回两个数组中公共的、长度最长的子数组的长度。 示例 1: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。 说明: 1 < len(A), len(B) < 1000 0 < A[i], B[i] < 100 思路&#xf…

PaperNotes(20)-TGAN-DeliGAN

GAN的文章2篇1.从RS-GAN说起2.TGANAbstract1 Reviews of GANs2.3 Relate to Turing Test3 Related Works4 Experiments4.1 Design of Discriminator5.Conclusion3 DeliGANAbstract1. Introduction2. Related Work3.GAN4.本文方法5.实验5.1. Modified Inception Score5.2. Toy D…

ubuntu apache配置负载均衡篇(一)

首先下载apache2服务器 apt-get install apache2 使得代理生效: a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http 修改配置 sudo vi /etc/apache2/mods-enabled/proxy.conf ProxyRequests Off <Proxy *> Order deny,allow Deny …

leetcode108 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组&#xff0c;转换为一棵高度平衡二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是&#xff1a;[0,-3,9,-10,null,…

ubuntu apache配置负载均衡篇(二)

上篇文章说到了基本的负载均衡配置,这次再说下负载均衡里的反向代理配置项参数:ProxyPass与ProxyPassReverse及ProxyPassMatch 1、ProxyPass: 语法:ProxyPass [path] !|url 它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向…

MachineLearning(12)- RNN-LSTM-tf.nn.rnn_cell

RNN-LSTM1.RNN2.LSTM3. tensorflow 中的RNN-LSTM3.1 tf.nn.rnn_cell.BasicRNNCell()3.2 tf.nn.rnn_cell.BasicLSTMCell()3.3 tf.nn.dynamic_rnn()--多步执行循环神经网络1.RNN RNN-Recurrent Neural Network-循环神经网络 RNN用来处理序列数据。多层感知机MLP层间节点全联接&…

判断微信小游戏用户是否真的分享

作为开发者,传统的微信分享拿到分享的状态码并不能完全确定玩家是否分享到好友或群。 因此一部分开发者给分享做一个定时器,超过5秒就判定玩家分享成功,实际上很容易被玩家利用。 因此我们可以利用微信分享过程中的图片url链接做文章: 1.需要一个web服务器,提供给客户端…

Leaf服务器框架从入门到放弃(一)认识Leaf和安装Leaf环境

首先我简单介绍下Leaf服务器,下面这段描述是我摘自github官方README说明: Leaf 游戏服务器框架简介 Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。 Leaf 的关注点:…

Linux Command List

Linux Command ListLinux Command List)todops auxsednohupnvidia-smisnaptorch.cuda.is_available()Linux Command List) Linux(1)-touch,mkdir,rm,mv,cp,ls,cd,cat Linux(2)-tar,find,grep,xargs Linux(3)-网-ifconfig,ping,ssh Linux(4)-资源-du,top,free,gnome Linux(…

JS演示图论汇总

BFS.js var BFSClass function () {this.isVisit new Array();this.adj new Array();this.vQueue new Array();this.curV;this.temp new Array();this.init function (beginV) {this.curV null;this.temp [];//初始化顶点访问数组this.isVisit [];for (var i 0; i &…

Shell脚本自动监控docker容器的状态

首先我们来写一个脚本rootserver:~# cat docker_monitor.sh #!/bin/bash #监控容器的运行状态 #容器名称 传入参数 containerName$1 #当前时间 nowdate "%Y-%m-%d %H:%M:%S"# 查看进程是否存在 existdocker inspect --format {{.State.Running}} ${containerNam…

Python模块(9)-Time,Json 简易使用教程

Time,Json简易使用教程1 Time1.1 获取时间1.2 程序计时2 Json1 Time Python中内置了一些与时间处理相关的库&#xff0c;如time、datatime和calendar库。其中time库是Python中处理时间的标准库&#xff0c;是最基础的时间处理库&#xff0c;提供如下功能功&#xff1a; &#…