/var/crash目录解析

当内核真的崩了:手把手教你用crash工具‘解剖’Kdump生成的vmcore文件 本文详细介绍了如何使用crash工具分析Kdump生成的vmcore文件,帮助Linux系统管理员和开发者诊断内核崩溃问题。从基础配置到高级分析技巧,包括进程状态检查、内存分析、调用栈追踪等关键方法,提供了一套完整的故障排查流程。文章特别强调了Kdump配置的重要性,并分享了实际案例和最佳实践。 阅读详情

1:生成的crash默认存放在:/var/crash中,控制存放位置的文件是:/var/sysconfig/kdump文件。想要查看crash需要先安装kdump工具,才会有kdump文件,opensuse中是默认不安装的。

2:crash 目录中有四个文件分别为:

linux:/var/crash/2015-01-04-14:37 # ll
total 3084144
-rw-r--r-- 1 root root                   187 Jan  4 14:40 README.txt
-rw-r--r-- 1 root root          1626134 Jan  4 14:40 System.map-2.6.32.59-0.7-default
-rw------- 1 root root   3149631649 Jan  4 14:40 vmcore
-rw-r--r-- 1 root root          3801265 Jan  4 14:40 vmlinux-2.6.32.59-0.7-default.gz
linux:/var/crash/2015-01-04-14:37 # 


vmcore 为crash文件;vmlinux-2.6.32.59-0.7-default.gz 压缩的 可引导的内核(应该是),gz的解压缩方式为: gunzip   vmlinux-2.6.32.59-0.7-default.gz

3:下载对应版本的代码。编译带-g选项的对应版本的调试内核,加-g选项可以通过make menuconfig把调试信息打开(我编译的时候直接make就能出调试内核,没有做这个过程)。

查看自己系统的内核版本命令: uname -r

make完的包中 vmlinux为编译出来的带调试的内核,可以把vmlinx拷贝出来到crash目录中,然后在该目录中输入 crash vmcore vmlinux 。意思是用编译出来的内核 解析vmcore文件。

4:然后用bt命令查看寄存器 mod命令加载调试符号 struct 把某个地址结构解析出来

Linux内核Crash排查实战:从kdump到vmcore的完整链路 操作系统的稳定性往往取决于内核的健壮性,但内核崩溃(Kernel Crash)一旦发生,轻则业务中断,重则整机宕机,且缺乏传统应用层面的日志与堆栈,排查极为困难。要还原故障现场,需要理解内核崩溃的常见形态,如Panic与Oops,以及更为隐蔽的死锁与软/硬锁死。kdump机制通过预留内存启动捕获内核,将崩溃瞬间的内存快照保存为vmcore文件,为后续分析提供了基础。借助crash工具配合带调试符号的vmlinux,工程师可以高效地进行栈回溯、内存检视与结构体解析,从而定位空指针、内存踩踏、驱动异常等根因。无 阅读详情

相关推荐

从宕机到洞察:掌握Linux内核调试与Crash工具实战分析

在Linux系统运维与开发中,系统稳定性是核心诉求。当发生内核崩溃(Kernel Crash)时,常规的日志和用户态coredump往往失效,导致根因定位困难。其原理在于内核崩溃意味着系统控制权丢失,无法记录现场。为此,Linux提供了内核崩溃转储机制,通过Kdump在系统崩溃瞬间捕获完整物理内存的快照(vmcore),再使用专门的Crash工具进行离线分析,这构成了事后调试(Post-mortem Analysis)的技术基础。这项技术的核心价值在于能将黑盒般的系统宕机转化为可追溯、可分析的现场,实现从故

weixin_33841722的博客 450

Linux 系统内核崩溃分析处理简介

作者:arstercz来源(阅读原文可直达):https://blog.arstercz.com/brief-intro-to-linux-kernel...

宋宝华 1万+

Linux内核崩溃分析实战:从Crash工具入门到高级调试技巧

在Linux系统运维和内核开发中,系统崩溃是常见且棘手的问题。当系统发生严重错误时,传统的日志调试方法往往失效,此时需要借助Crash工具进行事后调试。Crash工具通过分析内核内存转储文件,能够深入系统底层,定位崩溃根源。其核心原理在于利用调试符号文件解析内存数据结构,结合系统快照还原崩溃现场。这项技术对于诊断内存越界、空指针解引用、死锁等复杂内核问题具有极高价值,是运维工程师和内核开发者必须掌握的技能。在实际应用场景中,Crash工具常用于生产环境故障分析、内核问题排查和系统稳定性优化。本文将以实战为导

weixin_30719711的博客 367

Crash内核调试手段

kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具。 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行状态和数据信息收集到一个dump core文件中以便之后分析崩溃原因。 一旦内存信息收集完成,可以让系统将自动重启。 kdump是RHEL5之后才支持的,2006被主线接收为内核的一部分。它的原理简单来说是在内存中保留一块 区域,这块区域用来存放capture kernel,当produ..

MQWYY3的博客 2296

Ubuntu20.04使用过程中总是弹出检测到系统程序出现问题的解决方法

   解决方案:在终端输入以下指令 sudo rm /var/crash/*    这个操作会删除所有在/var/crash目录下的所有内容。这样你就不会再被这些报告以前程序错误的弹窗所扰。但是如果又有一个程序崩溃了,你就会再次看到“检测到系统程序错误”的错误。你可以再次删除这些报告文件    或者你可以选择彻底地摆脱Ubuntu中的系统错误弹窗,要禁止Apport,并且彻底地摆脱Ubuntu系统中的程序崩溃报告,打开一个终端,输入以下命令: sudo gedit /et..

慕羽★的博客 1万+

安卓手机目录结构全解析

本文系统分析了Android手机的目录结构,从文件系统基础到主要目录功能解析。关键内容包括: Android基于Linux内核,采用ext4/f2fs等多分区结构,/system、/vendor、/data等核心分区各司其职 详细解析了/system(系统核心)、/vendor(厂商定制)、/data(应用数据)等分区的子目录结构 介绍了应用沙箱机制,包括/data/data/下的私有数据目录和外部存储访问方式 分析了存储结构的版本演进,特别是Android 10的分区存储改革 提供了安全访问建议和开发实践

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 587

linux crash目录,/var/crash目录解析

1:生成的crash默认存放在:/var/crash中,控制存放位置的文件是:/var/sysconfig/kdump文件。想要查看crash需要先安装kdump工具,才会有kdump文件,opensuse中是默认不安装的。2:crash 目录中有四个文件分别为:linux:/var/crash/2015-01-04-14:37 # lltotal 3084144-rw-r--r-- 1 root...

weixin_30474823的博客 7470

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5610

【开发工具】【Kdump】解析kdump捕获的vmcore文件【三】

系统产生异常时,触发Kdump机制,启动捕获内核,用以对生产内核下的内存进行收集和转存。 Kdump用于对内存镜像的转储,它不但可以转储内存镜像到本地硬盘,还可以将内存镜像通过NFS,SSH等协议转储到不同机器的设备上。 本文是将生产内核的内存数据转储在/var/crash目录下,下面开始对其进行分析。 分析vmcore的主要目的: 明白内核崩溃的大致原因; 可以对内核崩溃的原因做更细致的分析; (一)准备Crash工具 crash是一个被广泛应用的内核奔溃转储文件分析工具。 crash工具,跟

诸葛一帆丶的博客 5843

【Seurat绘图进阶】从参数调优到美学定制:解锁DimPlot与FeaturePlot的隐藏技巧

本文深入探讨了Seurat包中DimPlot与FeaturePlot的进阶使用技巧,旨在解决单细胞数据可视化中的常见痛点。通过参数调优(如order、shuffle、raster)、颜色美学定制(使用RColorBrewer、viridis配色)以及性能优化(栅格化处理),并结合scCustomize包与patchwork排版,帮助用户将基础图表提升为信息清晰、可直接用于论文发表的出版级可视化结果。

lake5的博客 628

《SOC架构-ARM架构-文档导读》-目录

小白请看“Armv8/Armv9架构从入门到精通”专栏。以翻译为主的,深度深度深度深度/深入深入深入 学习ARM架构的文章。

baron-周贺贺-代码改变世界ctw 2083

4步教你学会使用Linux-Audit工具

简单来讲audit是Linux上的审计工具,可以用来记录和监控对文件、目录、系统资源的更改;Audit无法直接增强系统的安全性,但是它可以用于发现违反系统安全政策的行为。

华为云官方博客 4464

手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理

《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。

MHD0815的博客 737

Ceph Crash 模块完全指南:crashdump 自动采集、健康告警与归档管理

Ceph 的 **Crash Module**(crash 模块)是 Ceph Manager(mgr)内置的常驻模块之一,负责把集群中各守护进程(OSD、MON、MDS、RGW 等)生成的崩溃转储(crashdump)元数据统一收集并持久化到集群存储中,供后续离线分析与排障。本文以 [doc/mgr/crash.rst](https://link.gitcode.com/i/ac087c9e0f

gitblog_00441的博客 346

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

GitHub热门开源项目"daily_stock_analysis"是一款AI驱动的智能股票分析工具,能自动抓取行情数据、分析新闻语义并生成结构化报告。该项目采用Python开发,通过GitHub Actions实现全自动运行,支持邮件、企业微信等多渠道推送。核心功能包括AI决策仪表盘、多数据源整合和零成本部署方案,特别适合需要自动化投研辅助的个人投资者。项目强调其仅为分析工具而非投资建议,提醒用户注意AI模型的潜在误差。该工具通过智能化处理重复工作,帮助投资者提升决策效率,成为量化投资

陈奕昆的博客 1526

OpenClaw实战-行政与HR必备:AI驱动的办公自动化

智能会议纪要自动生成会议时间智能协调自动提醒和跟进简历智能筛选和匹配度分析面试安排自动化入职办理流程化通知公告一键发布发票识别和报销辅助资产管理数字化让AI处理繁杂的事务性工作,让您有更多时间专注于更有价值的战略和管理任务。

gaoxiang_120的专栏 217

OhMyGame 如何守护你的隐私?本地优先设计、密钥隔离与遥测边界全景解析

OhMyGame 是一款开源的 AI 游戏创作工作室(本地优先设计,自带密钥 BYOK)。本文带你快速看懂它的隐私与安全机制:🔒 项目和模型密钥如何留在本机、桌面应用与本地守护进程之间如何隔离,以及官方遥测到底发什么、不发什么——新手也能一次讲清楚。 ## 🖥️ 本地优先架构:除了发布,一切都在本机 OhMyGame 的核心设计是"本地优先"(Local-first):桌面应用、本地守护进

gitblog_00563的博客 453

DSP开发环境及工具之CCS

CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。

小柚子的博客 4311

Linux内核崩溃分析:Crash工具从入门到实战

在Linux系统运维与内核开发中,系统崩溃(Crash)是常见且棘手的问题。不同于用户态程序调试,内核态崩溃往往导致系统完全停滞,传统调试器无法工作。为此,Linux社区发展出了专门的事后分析工具——Crash。它基于GDB引擎,但深度集成了内核数据结构知识,能够解析系统内存转储文件(vmcore),像法医一样解剖崩溃现场。通过Crash,工程师可以查看崩溃瞬间的CPU寄存器、进程堆栈、内核关键数据结构(如task_struct),精准定位空指针解引用、内存越界、死锁等问题的根源。掌握Crash工具,是运维

weixin_34279246的博客 328

C#串口通信革命:RJCP.DLL.SerialPortStream实战全解析

本文介绍了如何通过RJCP.DLL.SerialPortStream库实现高性能串口通信解决方案。相比.NET自带的SerialPort类,该库提供了完全的异步非阻塞IO、动态缓冲区控制和多线程事件驱动等优势,特别适合工业自动化和物联网场景。文章详细讲解了环境搭建、核心功能对比,并通过代码示例展示了端口配置、异步通信管道搭建等关键技术。最后以Modbus RTU协议为例,演示了高级协议封装方法,为开发者提供了完整的工业级串口通信实现方案。

墨夶的博客 1870

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OPSD-V源码解析(二):FSDP环境下教师EMA影子与LoRA双Adapter切换机制揭秘

OPSD-V 是面向少步自回归视频生成模型的 On-Policy Self-Distillation(在策略自蒸馏)后训练框架。本篇 OPSD-V 源码解析带你拆解其训练工程中最精妙的两个机制:**FSDP 环境下的教师 EMA 影子权重(EMA Shadow)** 与 **LoRA 双 Adapter 切换**——它们决定了"教师模型"如何在只有一份模型内存的前提下被零成本地调出来。 [![O

gitblog_01036的博客 259

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Salt 项目修复 FreeBSD 启动崩溃:/var/run/dmesg.boot 含非 UTF-8 字符时的 grain 解析修复剖析

本文是 Salt 项目 [changelog/66764.fixed.md](https://link.gitcode.com/i/8f0f09110d44cdfbe134614fa4dbd7a7) 修复项的深度技术解读。它记录了一项针对 FreeBSD 平台的启动崩溃修复:当 `/var/run/dmesg.boot` 文件中包含非 UTF-8 字符时,Salt minion 在启动阶段收集 `

gitblog_00408的博客 189

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[原创] Ubuntu开机启动程序崩溃解析

当把程序安装至Ubuntu的开机启动项后,发现程序崩溃无法启动且非必现,可通过如下操作进行解析. 流程 1.Ubuntu开机启动后,/var/log/apport.log将保留程序崩溃日志,如: ERROR: apport (pid 3702) Mon May 18 10:43:13 2020: apport: report /var/crash/_opt_ros_kinetic_lib_test.0.crash already exists and unseen, doing nothing to

ROS小生的博客 2893

Ubuntu下安全迁移PostgreSQL数据目录到/mnt/pgdata完整指南

PostgreSQL数据目录是数据库集群的物理锚点,其位置直接影响性能隔离、存储扩展与安全策略落地。理解PGDATA的本质——即WAL日志、全局目录、表空间及事务状态的统一根路径——是安全迁移的前提。基于rsync的原子性同步与AppArmor的路径白名单机制,构成Ubuntu平台迁移的双重技术保障:前者通过-aHAX参数确保硬链接、ACL和扩展属性零丢失,后者以精确的rwk权限规则赋予新路径合法访问权。该方案广泛适用于SSD/NVMe磁盘升级、LVM快照备份、云服务器多盘挂载等生产场景,尤其解决/var分

435

syzkaller aflow 中的 AI 驱动崩溃复现器(Crash-to-Repro)工作流:从内核崩溃报告到 syzlang 程序

本文基于 syzkaller 仓库中 [pkg/aflow/docs/crash-to-repro.md](https://link.gitcode.com/i/bd059bc225a85cf67d1bd2d1e053166b) 这一设计提案,系统讲解如何在 `aflow`(AI Workflow)框架内构建一条**从内核崩溃报告自动生成可靠 syzkaller 复现器(reproducer)**

gitblog_00152的博客 303

一条命令完整归档抖音主页:无水印批量下载实操教程

关注的博主主页有几百条作品,逐条手动保存总有遗漏,录屏保存又有水印、画质差、声音混入环境音。douyin-downloader 是一个抖音无水印批量下载工具:单条作品可以无水印存下,整个主页可以持续归档,命令反复运行也不会产生重复文件。适合需要批量保存抖音作品、且没有 Python 基础的用户。 ## 🧭 它是什么:抖音无水印批量下载工具的核心能力 - 无水印下载:直接取无水印源,画质分档可

gitblog_00768的博客 807
上一篇: linux 调试环境搭建
下一篇: 编译内核态代码中途遇到的问题
锦画凉
博客等级 码龄18年 5粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值