使用addr2line分析crash问题

news/2024/11/22 16:58:16/

addr2line分析crash问题

  • addr2line功能
  • addr2line使用

addr2line功能

addr2line可以通过解析地址来定位异常发生在哪个文件,哪个函数,哪一行;不过只对编译时带-g参数的进程或者库文件有效,因此想使用addr2line定义进程发生crash时的位置,需要在编译时带上-g参数编译。

addr2line使用

1.堆栈日志打印,在hilogs里搜索关键字“backtrace”
2.提取对应进程,一般“libc.so”为系统库,可不关注,继续向下查看如wpa_supplicnat,找到对应进程
//有些进程添加了编译信息(库的大小会大一些),如android“/symbols/”
3.提取错误地址,重点看 “pc” 后面的十六进制数
使用addr2line -e “16进制地址值” “进程名称” 解析错误


http://www.ppmy.cn/news/22369.html

相关文章

力扣 516. 最长回文子序列

动规最长回文子序列模板状态设计dp[i][j] : s[i~j]中最长的回文子序列的长度状态转移s[i] s[j] dp[i][j] dp[i1][j-1] 2两头相同 中间的最长的回文子序列2(就是两头的)s[i] ! s[j]dp[i][j] max(dp[i1][j], dp[i][j-1])两头不同 先去掉头试试 再去掉尾…

19个GIS相关地理信息数据

收录了19个GIS相关的数据集网站,包括大洲、国家、城市、街道的街景图片、地名信息、一些高精度地图、时区边界等各类数据。全部收录整理到 webhub​www.webhub123.com/?#/home/detail?projectHashid80195609&ownerUserid23585890 其中包含Github的&#xff…

一维数组篇——每日刷题经验分享

一维数组篇——每日刷题经验分享~😎前言🙌记数问题💞逆序输出 💞N个数之和 💞最高分与最低分之差 💞争夺前五名 💞有序序列合并 💞有序序列判断 💞总结撒花💞…

cmake 创建静态库、创建动态库、进行连接

C 使用cmake编译 学习如何创建 静态库、动态库、 学习如何连接现有的 静态库、动态库、 生成静态库示例: 在account_dir目录下: Account_.h #ifndef Account_H #define Account_Hclass Account1 { private:/* data */ public:Account1(/* args */)…

四:Java基本语法(下)

这里写目录标题2.5.2 程序流程控制:if-else结构p142.5.2 程序流程控制:if-else结构p142.5.2 程序流程控制:if-else结构p152.5.2 程序流程控制:if-else结构p182.5.2 程序流程控制:if-else结构p192.5.3 程序流程控制&…

类和对象(上)

类和对象(上)1.面向过程和面向对象的初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1访问限定符4.2封装5.类的作用域6.类的实例化7.类对象模型8.this指针8.1this指针的特性8.2C语言和C对比🌟🌟hello,各位读者大…

数据仓库的架构以及传统数据库与数据仓库的区别

一、数据仓库的分层架构 数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。 1,源数据层(ODS) 操作性数…

linux-cp tap vhost接口

LCP中接口创建命令如下。 vpp# lcp create <sw_if_index>|<if-name> host-if <host-if-name> netns <namespace> [tun]将创建下图结构的三个虚拟网络设备&#xff0c;分别为VPP中的virtio接口&#xff0c;内核中的vhost-net设备和tap后端设备&#xf…