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

Debian Linux 11 使用crash

文章目录

  • 前言
  • 一、环境安装
    • 1.1 安装debug package
    • 1.2 安装crash
  • 二、使用crash

前言

# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"# uname -r
5.10.0-31-amd64

一、环境安装

1.1 安装debug package

Debian Linux 11 的 /boot/System.map-5.10.0-31-amd64 和其他发行版不同,这个文件没有符号内容,需要我们自己下载对应的package。

# cat /boot/System.map-5.10.0-31-amd64
ffffffffffffffff B The real System.map is in the linux-image-<version>-dbg package
# apt install linux-image-$(uname -r)-dbg
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列【新】软件包将被安装:linux-image-5.10.0-31-amd64-dbg
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 133 个软件包未被升级。
需要下载 801 MB 的归档。
解压缩后会消耗 5,804 MB 的额外空间。
获取:1 https://mirrors.aliyun.com/debian-security bullseye-security/main amd64 linux-image-5.10.0-31-amd64-dbg amd64 5.10.221-1 [801 MB]
已下载 801 MB,耗时 120(1,113 kB/s)
正在选中未选择的软件包 linux-image-5.10.0-31-amd64-dbg。
(正在读取数据库 ... 系统当前共安装有 179172 个文件和目录。)
准备解压 .../linux-image-5.10.0-31-amd64-dbg_5.10.221-1_amd64.deb  ...
正在解压 linux-image-5.10.0-31-amd64-dbg (5.10.221-1) ...
正在设置 linux-image-5.10.0-31-amd64-dbg (5.10.221-1) ...
# ls -l /lib/debug/boot/
System.map-5.10.0-31-amd64  vmlinux-5.10.0-31-amd64
# cat /lib/debug/boot/System.map-5.10.0-31-amd64 | head -5
0000000000000000 D __per_cpu_start
0000000000000000 D fixed_percpu_data
00000000000001de A kexec_control_code_size
0000000000001000 D cpu_debug_store
0000000000002000 D irq_stack_backing_store# file /lib/debug/boot/vmlinux-5.10.0-31-amd64
/lib/debug/boot/vmlinux-5.10.0-31-amd64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=7cc843ffdcc57976d25b57b47feaa8cb555625c8, with debug_info, not stripped

vmlinux-5.10.0-31-amd64 是带调试信息的vmlinux镜像。

1.2 安装crash

# apt-get install crash

二、使用crash

这篇文章详细的描述了crash的使用,请参考:Linux crash调试(一)

# crashcrash 7.2.9
Copyright (C) 2002-2020  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...WARNING: kernel relocated [652MB]: patching 104931 gdb minimal_symbol valuesKERNEL: /usr/lib/debug/lib/modules/5.10.0-31-amd64/vmlinuxDUMPFILE: /proc/kcoreCPUS: 4DATE: Sat Sep 14 20:13:45 CST 2024UPTIME: 00:54:07
LOAD AVERAGE: 0.52, 0.25, 0.10TASKS: 595NODENAME: debianRELEASE: 5.10.0-31-amd64VERSION: #1 SMP Debian 5.10.221-1 (2024-07-14)MACHINE: x86_64  (3407 Mhz)MEMORY: 4 GBPID: 74067COMMAND: "crash"TASK: ffff8c0111a1c800  [THREAD_INFO: ffff8c0111a1c800]CPU: 2STATE: TASK_RUNNING (ACTIVE)crash>
crash> dis sys_call_table
0xffffffffaaa002e0 <sys_call_table>:    nop
crash> rd -64 0xffffffffaaa002e0
ffffffffaaa002e0:  ffffffffa9edc690                    ........
crash> dis ffffffffa9edc690
0xffffffffa9edc690 <__x64_sys_read>:    nopl   0x0(%rax,%rax,1) [FTRACE NOP]
0xffffffffa9edc695 <__x64_sys_read+5>:  mov    0x60(%rdi),%rdx
0xffffffffa9edc699 <__x64_sys_read+9>:  mov    0x68(%rdi),%rsi
0xffffffffa9edc69d <__x64_sys_read+13>: mov    0x70(%rdi),%rdi
0xffffffffa9edc6a1 <__x64_sys_read+17>: jmpq   0xffffffffa9edc5b0 <ksys_read>
0xffffffffa9edc6a6 <__x64_sys_read+22>: nopw   %cs:0x0(%rax,%rax,1)
crash>
crash> rd -64 0xffffffffaaa002e8
ffffffffaaa002e8:  ffffffffa9edc7b0                    ........
crash> dis ffffffffa9edc7b0
0xffffffffa9edc7b0 <__x64_sys_write>:   nopl   0x0(%rax,%rax,1) [FTRACE NOP]
0xffffffffa9edc7b5 <__x64_sys_write+5>: mov    0x60(%rdi),%rdx
0xffffffffa9edc7b9 <__x64_sys_write+9>: mov    0x68(%rdi),%rsi
0xffffffffa9edc7bd <__x64_sys_write+13>:        mov    0x70(%rdi),%rdi
0xffffffffa9edc7c1 <__x64_sys_write+17>:        jmpq   0xffffffffa9edc6d0 <ksys_write>
0xffffffffa9edc7c6 <__x64_sys_write+22>:        nopw   %cs:0x0(%rax,%rax,1)
crash> struct task_struct
struct task_struct {struct thread_info thread_info;volatile long state;void *stack;refcount_t usage;unsigned int flags;unsigned int ptrace;int on_cpu;struct __call_single_node wake_entry;unsigned int cpu;unsigned int wakee_flips;unsigned long wakee_flip_decay_ts;struct task_struct *last_wakee;int recent_used_cpu;int wake_cpu;int on_rq;int prio;int static_prio;int normal_prio;unsigned int rt_priority;const struct sched_class *sched_class;struct sched_entity se;struct sched_rt_entity rt;struct task_group *sched_task_group;struct sched_dl_entity dl;struct hlist_head preempt_notifiers;unsigned int btrace_seq;unsigned int policy;int nr_cpus_allowed;const cpumask_t *cpus_ptr;cpumask_t cpus_mask;int trc_reader_nesting;int trc_ipi_to_cpu;union rcu_special trc_reader_special;

相关文章:

Debian Linux 11 使用crash

文章目录 前言一、环境安装1.1 安装debug package1.2 安装crash 二、使用crash 前言 # cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 11 (bullseye)" NAME"Debian GNU/Linux" VERSION_ID"11" VERSION"11 (bullseye)" VERSION_C…...

python列表 — 按顺序找出b表中比a表多出的元素

目录 一、功能描述 二、适用场景 三、代码实现 一、功能描述 有a、b两个列表&#xff0c;a列表有3个元素&#xff1b;b列表有7个元素。b列表多出的一个元素可能在随机的位置&#xff0c;在不影响其他元素的情况下&#xff0c;找到b列表多出的那四个元素&#xff0c;并按照在…...

如何使用Python创建目录或文件路径列表

在 Python 中&#xff0c;创建目录或生成文件路径列表通常涉及使用 os、os.path 或 pathlib 模块。下面是一些常见的任务和方法&#xff0c;用于在 Python 中创建目录或获取文件路径列表。 问题背景 在初始阶段的 Python 学习过程中&#xff0c;可能遇到这样的问题&#xff1a…...

领夹麦克风哪个品牌好,哪种领夹麦性价比高,无线麦克风推荐

在音频录制需求日益多样化的今天&#xff0c;无线领夹麦克风作为提升音质的关键设备&#xff0c;其重要性不言而喻。市场上鱼龙混杂&#xff0c;假冒伪劣、以次充好的现象屡见不鲜。这些产品往往以低价吸引消费者&#xff0c;却在音质、稳定性、耐用性等方面大打折扣&#xff0…...

苍穹外卖学习笔记(五)

文章目录 二.新增菜品1.图片上传2.具体新增菜品 二.新增菜品 1.图片上传 这里采用了阿里云oss对象存储服务 application.yml alioss:endpoint: ${sky.alioss.endpoint}access-key-id: ${sky.alioss.access-key-id}access-key-secret: ${sky.alioss.access-key-secret}bucket…...

什么是卷积层、池化层、BN层,有什么作用?

什么是卷积层、池化层、BN层&#xff0c;有什么作用&#xff1f; 卷积层池化层BN层 卷积层 定义&#xff1a; 卷积层是CNN中的核心组件&#xff0c;它通过卷积运算对输入数据进行特征提取。卷积层由多个卷积单元组成&#xff0c;每个卷积单元的参数通过反向传播算法优化得到。…...

[学习笔记]《CSAPP》深入理解计算机系统 - Chapter 4 处理器体系结构Chapter 5 优化程序性能

总结一些第四章和第五章的一些关键信息 Chapter 4 处理器体系结构将处理组织成阶段 Chapter 5 优化程序性能 Chapter 4 处理器体系结构 在硬件中&#xff0c;寄存器直接将它的输入和输出线连接到电路的其他盆。 在机器级变成中&#xff0c;寄存器代表的是 CPU 中为数不多的可寻…...

案例分享|我是这样转型做数据产品经理的?

本文为才聚学员投稿的原创作品&#xff0c;现在才聚正面向专业项目管理者征集“项目管理实战案例”原创文章&#xff0c;被采纳即可获得丰厚稿酬&#xff0c;欢迎大家关注公众号踊跃投稿。 如您有意向投稿&#xff0c;可将稿件投递给我们。 故事介绍 三段故事&#xff0c;讲…...

ffmpeg面向对象-rtsp拉流相关对象

目录 1.AVFormatContext和FFFormatContext类。1.1 概述1.2 构造函数1.3 oopc的继承实现 2. AVInputFormat 类。2.1 多态的实现 3.所用设计模式3.1模板模式3.2 工厂模式&#xff1f; 3.3 rtsp拉流建链 4.this指针5.小结6.rtsp拉流流程 1.AVFormatContext和FFFormatContext类。 …...

feign client发送Post请求,发送对象参数,服务端接收不到正确参数报错排查

记一次feignclient发送请求服务端接收不到正确参数排查 服务端代码&#xff1a; Operation(summary "Create team")PostMapping("post")RequiresPermissions("team:add")public RestResponse addTeam(Valid Team team) {this.teamService.crea…...

Hadoop林子雨安装

文章目录 hadoop安装教程注意事项&#xff1a; hadoop安装教程 链接: 安装教程 注意事项&#xff1a; 可以先安装ububtu增强功能&#xff0c;完成共享粘贴板和共享文件夹 ubuntu增强功能 2.这里就可以使用共享文件夹 或者在虚拟机浏览器&#xff0c;用 微信文件传输助手 传文…...

Springboot项目总结

1.为了调用写在其他包里面的类的方法 但是不使用new来实现调用这个类里面的方法&#xff0c;这个时候我们就需要将这个类注入到ioc容器里面&#xff0c;通过ioc容器来实现自动生成一个对象。 对ioc容器的理解&#xff1a;自动将一个对象实现new. 考察了and 和 or组合使用&…...

目标检测从入门到精通——数据增强方法总结

以下是YOLO系列算法&#xff08;从YOLOv1到YOLOv7&#xff09;中使用的数据增强方法的总结&#xff0c;包括每种方法的数学原理、相关论文以及对应的YOLO版本。 YOLO系列数据增强方法总结 数据增强方法数学原理相关论文图像缩放将输入图像缩放到固定大小&#xff08;如448x44…...

SQL server 的异常处理 一个SQL异常 如何不影响其他SQL执行

在 SQL Server 中&#xff0c;存储过程中的 SQL 语句是顺序执行的。如果其中任何一个 SQL 语句遇到了错误或异常&#xff0c;那么默认情况下&#xff0c;这个错误会导致整个事务&#xff08;如果有的话&#xff09;回滚&#xff0c;并且存储过程会立即停止执行&#xff0c;不会…...

STM32——看门狗通俗解析

笔者在学习看门狗的视频后&#xff0c;对看门狗仍然是一知半解&#xff0c;后面在实际应用中发现它是一个很好用的检测或者调试工具。所以总结一下笔者作为初学小白对看门狗的理解。 主函数初始化阶段、循环阶段和复位 众所周知&#xff0c;程序的运行一般是这样的&#xff1…...

点亮第一盏LED灯 5): stm32CubeMX生成Keil代码

嵌入式入门&#xff0c;继续点亮第一盏LED灯&#xff0c;前面文章已经配置了GPIO引脚和时钟&#xff0c;那么基本上stm32CubeMX的配置就完成了&#xff0c;还有一点就是可以对PC13这个引脚起个别名&#xff0c; 这里起的别名是 LED_PC13&#xff0c;还有注意地方就是GPIO mode…...

ollama语言大模型部署使用

ollama语言大模型部署使用 前言一、下载安装maxkb1、下载解压赋权2、安装 二、安装ollamadocker运行 三、无需获取api_keymaxkb安装ollama模型对&#xff0c;就是这&#xff0c;你选好基础模型后&#xff0c;只需要给他地址&#xff0c;添加完成后自行调用ollama安装你选择好的…...

redis 基本数据类型—string类型

一、介绍 Redis 中的字符串&#xff0c;直接就是按照二进制数据的方式存储的&#xff0c;不会做任何的编码转换。 Redis对于 string 类型&#xff0c;限制了大小最大是512M 二、命令 SET 将 string 类型的 value 设置到 key 中。如果 key 之前存在&#xff0c;则覆盖&#…...

Git 使用教程:从入门到精通

Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 创建&#xff0c;用于有效、高速地处理从小到大的项目版本管理。本教程将带你从 Git 的安装开始&#xff0c;逐步学习到如何使用 Git 进行日常的版本控制操作。 安装 Git Windows 访问 Git 官方网站 下载 …...

ES查询的一些优化方式

ES查询的一些优化方式 filter和query Query会计算得分&#xff0c;filte不是&#xff0c; 整体上query会更耗时 字段方式: KEYWORD 和 text&#xff0c; Text检索的方式往往会占用更多性能&#xff0c;它往往需要伴随着模糊匹配和分词 分页的大小 From 和size的大小合理设置…...

开箱即用体验:Z-Image-Turbo文生图镜像实战教程

开箱即用体验&#xff1a;Z-Image-Turbo文生图镜像实战教程 1. 为什么你需要这个镜像&#xff1f;一个真正“零等待”的AI绘图方案 如果你曾经尝试过部署一个AI文生图模型&#xff0c;大概率经历过这样的痛苦&#xff1a;花几个小时配置环境&#xff0c;然后面对几十GB的模型…...

UNIT-00:Berserk Interface辅助数据库课程设计:从ER图到SQL

UNIT-00&#xff1a;Berserk Interface辅助数据库课程设计&#xff1a;从ER图到SQL 你是不是正在为数据库课程设计发愁&#xff1f;面对一个模糊的业务需求&#xff0c;要从零开始画出清晰的ER图&#xff0c;再设计出规范化的数据库模式&#xff0c;最后还要写出一堆建表和查询…...

GLM-OCR Python API详解:predict接口返回结构、置信度阈值设置与后处理

GLM-OCR Python API详解&#xff1a;predict接口返回结构、置信度阈值设置与后处理 1. 项目概述与环境准备 GLM-OCR 是一个基于先进多模态架构的高性能OCR识别模型&#xff0c;专门针对复杂文档理解场景设计。它不仅能识别常规文本&#xff0c;还支持表格识别、公式识别等高级…...

【图像计数】基于matlab GUI图像处理颗粒自动计数【含Matlab源码 15231期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…...

GDAL:Windows环境下的高效安装与基础配置指南

1. Windows环境下GDAL安装全攻略 第一次接触GDAL时&#xff0c;我也被官网上密密麻麻的下载选项搞得头晕眼花。作为地理空间数据处理领域的"瑞士军刀"&#xff0c;GDAL确实功能强大&#xff0c;但在Windows平台上的安装过程却让不少新手望而却步。别担心&#xff0c;…...

STM32实战:IO-Link物理层编码配置避坑指南(附逻辑分析仪抓包技巧)

STM32实战&#xff1a;IO-Link物理层编码配置避坑指南&#xff08;附逻辑分析仪抓包技巧&#xff09; 在工业自动化领域&#xff0c;IO-Link作为点对点通信协议正快速普及。对于嵌入式开发者而言&#xff0c;使用STM32等通用MCU实现IO-Link主站/从站功能时&#xff0c;物理层编…...

告别手动调时间!用STM32F4的RTC闹钟和自动唤醒实现一个智能定时提醒器

STM32F4智能定时系统&#xff1a;RTC闹钟与自动唤醒实战指南 在物联网设备开发中&#xff0c;精确的时间管理和低功耗运行往往是产品成功的关键因素。STM32F4系列微控制器内置的RTC&#xff08;实时时钟&#xff09;模块&#xff0c;不仅提供精准的日历时钟功能&#xff0c;更通…...

Flux.1文生图大模型本地部署实战:从零到一的ComfyUI配置指南

1. 为什么选择Flux.1和ComfyUI组合 如果你正在寻找一个既强大又灵活的AI绘画解决方案&#xff0c;Flux.1和ComfyUI的组合绝对值得考虑。Flux.1作为目前最大的开源文本到图像模型之一&#xff0c;拥有12B参数的强大生成能力&#xff0c;而ComfyUI则以其模块化的工作流设计著称&a…...

AndEngine纹理打包优化:使用TexturePackerExtension提升游戏性能

AndEngine纹理打包优化&#xff1a;使用TexturePackerExtension提升游戏性能 【免费下载链接】AndEngine Free Android 2D OpenGL Game Engine 项目地址: https://gitcode.com/gh_mirrors/an/AndEngine 在Android游戏开发中&#xff0c;纹理管理是影响游戏性能的关键因素…...

无需编程!cv_resnet18_ocr-detection WebUI界面操作详解

无需编程&#xff01;cv_resnet18_ocr-detection WebUI界面操作详解 1. 开篇&#xff1a;为什么选择这个OCR工具&#xff1f; 在日常工作和生活中&#xff0c;我们经常需要从图片中提取文字信息。传统OCR工具要么需要复杂的编程接口&#xff0c;要么功能单一难以满足需求。今…...