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

【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash 工具依赖内容】


请阅读:【Linux 维测及Crash使用专栏】


文章目录

    • Prerequisites
      • 1. 内核对象文件
      • 2. 内存镜像
      • 3. 平台处理器类型
      • 4. Linux 内核版本

在这里插入图片描述

Prerequisites

crash 工具需要依赖下面的内容:

1. 内核对象文件

  • vmlinux 文件:需要一个 vmlinux 内核对象文件,在本文中称为命名列表(namelist)。该文件必须使用 -g C 编译标志构建,以便包含符号调试所需的调试数据。
  • RHEL3 中的处理:在 RHEL3 的系统中,正在运行的内核对应的 vmlinux 文件被分割成两个文件:一个精简版位于 /boot 目录,文件名中附有操作系统的版本号,例如 vmlinux-2.4.21-4.elsmp。这个 /boot 中的精简文件包含一个链接,指向其关联的 debuginfo 文件,该文件位于 /usr/lib/debug/boot 目录。
  • RHEL4、RHEL5 和 RHEL6 中的处理:在这些系统中,vmlinux 文件是内核 debuginfo 包的一部分,位于 /usr/lib/debug/lib/modules/<release> 目录中。
  • 理想情况下:内核对象文件应与内存镜像文件关联。然而,如果与崩溃转储或实时系统关联的 vmlinux 文件未用 -g 标志构建,可以在调用部分中讨论的替代方案。

2. 内存镜像

  • 来源:可以是从支持的转储设施生成的内核崩溃转储文件,或通过 /dev/mem(在 RHEL4/5/6 中为 /dev/crash 驱动)访问的实时系统内存。
  • 默认行为:如果在 crash 命令行中没有提供转储文件参数,则默认使用实时系统内存。在检查实时系统时,需要 root 权限。

3. 平台处理器类型

  • 开发和测试crash 工具在 x86、x86_64、ia64、ppc64、Arm、s390 和 s390x 处理器上被积极开发和测试。
  • 遗留支持:虽然 crash 工具不再积极维护 alpha 和 32 位 PowerPC 平台,但仍提供遗留支持。

4. Linux 内核版本

  • 兼容性crash 工具向后兼容至少到 Red Hat 6.0(Linux 版本 2.2.5-15),一直到 Red Hat Enterprise Linux 5(Linux 版本 2.6.18+)。
  • 内核变化支持:由于上游内核内部结构的不断变化,不能保证立即支持最新的内核版本。然而,crash 工具不断进行修改,以支持上游内核版本的变化。目标始终是使该工具独立于 Linux 版本依赖,通过识别主要的内核代码变化,适应新内核版本,同时保持向后兼容性。

通过满足上述前提条件,crash 工具可以在多个平台和内核版本上有效地进行内核分析和调试,为开发人员提供强大的问题解决能力。

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

相关文章:

  • 「C/C++」C++标准库 之 #include<exception> 异常处理库
  • YOLOv7-0.1部分代码阅读笔记-experimental.py
  • 【大数据学习 | kafka】简述kafka的消费者consumer
  • 系统架构设计师论文:论湖仓一体架构及其应用
  • 电磁兼容(EMC):GB 4343.1喀呖声 详解
  • 纯血鸿蒙Native层支持说明
  • learn C++ NO.31——类型转换
  • 重学 Android 自定义 View 系列(三):自定义步数进度条
  • 海南华志亿星电子商务有限公司赋能抖音商家成长
  • 数据结构-并查集专题(1)
  • 共享汽车管理新纪元:SpringBoot框架应用
  • 道可云人工智能元宇宙每日资讯|《中国生成式人工智能应用与实践展望》白皮书发布
  • kaggle学习 eloData项目(1)-数据校验
  • ORACLE RAC用DNS服务器的配置
  • vue3 + vite 实现版本更新检查(检测到版本更新时提醒用户刷新页面)
  • 【CSP】爆零的独特姿势
  • Git仓库
  • 【科研日常】论文投稿的几大状态
  • SSLHandshakeException错误解决方案
  • python数据结构基础(7)
  • 【系统集成项目管理工程师】英语词汇对照表-项目管理类
  • 购物车-多元素组合动画css
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(3)
  • [ vulnhub靶机通关篇 ] 渗透测试综合靶场 DarkHole:1 通关详解 (附靶机搭建教程)
  • 【LeetCode】移除链表中等于设定值的元素、反转链表
  • Redis - 主从复制
  • UE5 HLSL 学习笔记
  • 一个简单ASP.NET购物车设计
  • 双向循环列表
  • go项目出现了ambiguous import要怎么解决?