当前位置: 首页 > news >正文

addr2line 使用,定位kernel panic 代码位置

在kernel崩溃时,方便定位代码。

需要打开kernel配置CONFIG_DEBUG_INFO。

需要有System.map和vmlinux文件,一般在out目录。

一般panic的时候会有给出panic的指针,如下down_write。

el1_data说明发生异常了,进入和entry.S文件,一般el1_data下面的那个函数就是panic的函数。

pc : down_write+0x18/0x50 ,解释如下:

函数down_write汇编代码偏移0x18位置,函数总长度0x50。

操作:

1)根据System.map找到函数基地址,示例中,down_write基地址ffffff8009076d28。
2)需要查询的地址为基地址+偏移地址。示例中崩溃代码虚拟地址为0xffffff8009076d28 + 0x18 = 0xffffff8009076d40
3)使用交叉编译工具链的addr2line工具,和vmlinux文件具体命令如下

addr2line -C -f -e vmlinux 0xffffff8008a08a04

ag down_write System.map

使用3中命令会输出行号

System.map文件内容如下:

http://www.lryc.cn/news/90213.html

相关文章:

  • OpenAI目前所有模型介绍
  • 【P43】JMeter 吞吐量控制器(Throughput Controller)
  • 方正书版命令详解
  • Gradio的web界面演示与交互机器学习模型,高级接口特征《6》
  • 本地项目上传到Git(Gitee)仓库
  • Android 12.0屏蔽掉SystemUI的某些通知提示音
  • 测试计划模板二
  • 华为OD机试真题B卷 Java 实现【分奖金】,附详细解题思路
  • IMX6ULL平台I2C数据结构分析
  • 实时时钟 RTC(2)
  • 弄懂局部变量
  • 倾斜摄影三维模型数据的高程偏差修正的几何纠正技术方法探讨
  • 怎么发表CCF期刊?CCF期刊有什么不同之处? - 易智编译EaseEditing
  • feat:使用企业微信JS-SDK的onMenuShareAppMessage()实现点击转发自定义分享内容(TypeScript)
  • Java键盘事件处理及监听机制解析
  • Git详解——安装、使用、搭建、IDEA集成
  • 【JavaSE】Java基础语法(二十一):内部类
  • Ceph应用
  • Oxford online English-Chair a Meeting 05/29
  • LeetCode: 二叉树的直径(java)
  • springboot+vue+java旅行旅游景点酒店预订出行订票系统eaog5
  • Linux :: 【基础指令篇 :: 用户管理:(2)】::设置用户密码(及本地Xshell 登录云服务器操作演示) :: passwd
  • img[:, :, ::-1] 通俗理解
  • 基于springboot+vue+elementui的健身房会员管理系统的
  • 在酒店房间中的数据库索引
  • Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
  • Stack 栈的实现与应用
  • CSDN中如何获得铁粉(用心篇)
  • es 三 安装 es 安装kibana
  • 牛客HJ43迷宫问题 - 创建智能体通过策略自己找路