利用crash工具分析堆栈死机问题

【内核崩溃kdump(sysdump)和crash分析】 kdump实现了"双内核"布局,Kdump 在内核在内核panic后,立即调用kexec 引导到转储捕获内核(capture kernel),使用 kexec 引导 “覆盖” 当前运行的内核。该“转储捕获内核”的内存区域由主内核的bootargs参数 crashkernel 或dts指定。“转储捕获内核”可以是专门build的单独 Linux 内核image,也可以在支持可重定位内核的系统架构上重用主内核映像。 阅读详情

1、将/etc/yum.repos.d/centos-*.repo移到别处,新建一个 centos.repo文件
2、里面内容填写如下:

[base]]
name=ftp-server
baseurl=ftp://172.17.62.160/pub/centos6.6
enable=1
gpgcheck=1
gpgkey=ftp://172.17.62.160/pub/centos6.6/RPM-GPG-KEY-CentOS-6

保存文件退出
172.17.62.160是公司内部yum 源,在配置了172.17网段的虚拟机上可以方便安装.若在有外网权限的linux上,无需修改上述步骤中所修改的内容,直接执行yum install -y crash
3、执行命令 yum install -y crash 安装crash
在设备上捕获crash的设置:
1、设备上使用命令行打开:system mgt kdump -s start,之后使用system mgt getkdump查看状态是否为enable
2、设备上/etc/rc.local文件中,将此句 #/odsp/scripts/fliter.sh 使用#注释掉
3、保证设备上系统盘的空间足够保存crash,使用df -h命令查看 /var/crash 的空间使用率,
4、生成的crash存放路径为:/var/crash,若空间不足需要手动删除不需要的crash
将新建共享的crash文件夹挂载到虚拟机,然后使用scp将172.17.171.181:/test/crash/linux-2.6.32-504.16.2.b2.23-debug.tgz文件拷贝到crash目录并解压成功,后面crash使用时会用到你把刚才新建共享的crash文件夹挂载到虚拟机,然后使用scp将172.17.171.181:/test/crash/linux-2.6.32-504.16.2.b2.23-debug.tgz文件拷贝到crash目录并解压成功,后面crash使用时会用到
执行: crash linux-2.6.32-504.16.2.b2.23-debug/vmlinux 127.0.0.1-2017-06-08-23_55_43/vmcore

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

相关推荐

BES蓝牙芯片死机日志分析实战:从寄存器到PC指针的完整排查指南

本文详细解析BES蓝牙芯片死机日志分析方法,从ARM Cortex-M33寄存器体系到PC指针异常排查,提供完整的实战指南。涵盖.lst和.elf文件解析技巧,以及RTOS环境下的高级调试技术,帮助开发者快速定位堆栈溢出、空指针访问等常见死机问题。

weixin_28365523的博客 376

ycrash概述–查找问题根源

业界已经看到了最先进的应用程序性能监视工具(AppDynamics,NewRelic,Dynatrace…)和日志分析工具(DataDog,Splunk等)。 这些是检测问题的好工具。 也就是说,他们可以检测到CPU的峰值提高了x%,内存降低了y%,响应时间缩短了z秒。 但是他们没有回答这个问题:为什么CPU急剧增加? 为什么内存降级了? 为什么响应时间增加了? 您仍然需要与开发人员/架构师/...

925

恒玄BES平台死机日志全解析:如何快速定位崩溃原因

本文深入解析恒玄BES平台死机日志的分析方法,帮助开发者快速定位系统崩溃原因。从日志结构解析到实战排查技巧,详细介绍了寄存器解读、地址定位和常见崩溃模式,并提供了高级调试技巧和预防性编程策略,助力提升嵌入式开发效率。

weixin_30687051的博客 393

造成内存泄漏的异常处理

Memory Leak Due To Improper Exception Handling原文:https://dzone.com/articles/memory-leak-due-to-improper-exception-handling译:祝坤荣Pexels上的Andrea Vera Sasso拍摄的图片本文中,我们会讨论到我们在生产环境遇到的内存问题以及...

祝坤荣的随想 416

2、稳定性问题全景图——死机、重启、ANR、Crash、黑屏五大类

当 Crash 发生在 system_server、surfaceflinger、mediaserver 等关键系统进程中时,其后果等同于系统级故障,可能触发 Zygote 重启甚至 kernel panic。这类问题在稳定性治理中的优先级应等同于 P0。

woailuojp的博客 49

java8源码-ycrash:异常捕获

java8 源码 ycrash,安卓崩溃异常捕获类 源码采用java8.0,安卓10.0,API29,androidx。 当然低版本copy代码过去也能用。 ##当前最新版:————> 为了支持个人资料的保护,维护个人隐私权。使用此异常捕获,请在隐私说明中描述出异常崩溃获取手机特征值信息等说明。 配套的Server端请看过来: 配套的WEB前端页面请看过来: Gradle 引用 在根build.gradle中添加 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } 子module添加依赖,当前最新版:————> dependencies { implementation 'com.github.yutils:ycrash:1.0.3' } 用法: 1.在Application 的OnCreate中添加如下代码。 java //必须 YCrash.getInstance().init(this); //修改名称 YCrash.getInstance().setAppName("AppName");

ycrash/yc-data-script项目3.0.9版本技术解析:安全增强与系统优化

ycrash/yc-data-script项目3.0.9版本技术解析:安全增强与系统优化 项目背景与技术定位 ycrash/yc-data-script是一个专注于系统诊断与性能分析的开源工具集,其核心功能在于提供全面的系统监控、故障诊断和性能优化能力。该项目采用Go语言开发,具有跨平台特性,特别适合需要深度系统监控和快速问题定位的场景。 3.0.9版本核心改进 安全架构升级 本次版本对基础安全模...

gitblog_01307的博客 420

机械臂速成小指南(八):标准DH法实战——从连杆坐标系到运动学方程

本文详细介绍了机械臂运动学建模中的标准DH法,从连杆坐标系的建立到运动学方程的求解,提供了实用的操作步骤和代码示例。通过DH参数表和变换矩阵的构建,帮助读者快速掌握机械臂运动学建模的核心技术,并解决实际应用中的常见问题。

oo7890的博客 211

Crash工具介绍和常见命令使用

本文主要介绍crash工具的使用以及常用的命令。crash工具,常用来分析内核的coredump以及应用的coredump,功能非常强大。

lunhui2016的博客 6902

ZynqMP多核实战:如何让A53-0跑Linux,其他核裸机处理大数据(附完整配置流程)

本文详细解析了Xilinx ZynqMP多核异构计算实战,重点介绍如何配置A53-0运行Linux系统,同时让其他A53和R5核心以裸机方式处理大数据任务。内容涵盖内存划分、核间通信、Linux定制配置等关键技术,提供完整的配置流程和性能优化方案,助力开发者实现高效的多核协同开发。

weixin_30555125的博客 479

一图文带您认识磁编码器

磁编码器是以磁电原理技术生产的编码器。 磁编码器工作原理: 当电流通过一个位于磁场中的导体的时候,磁场会对导体中的电子产生一个垂直于电子运动方向上的的作用力,从而在垂直于导体与磁感线的方向上产生电势差。 如果让施加在这个导体上的磁场以电流流经路径为轴线,按照上图箭头所示的方向旋转,那么这个霍尔电势差就会因为磁场与导体之间角度的改变而发生变化,而这个电势差的变化趋势,与之前一文中次级线圈旋转时的输出电压一样,是一条正弦曲线。因此,基于这个通电导体两侧的电压,就可以反推计算出磁场旋转的角度了。 .

encoder_yang的博客 2万+

MCU死机查原因,Crash dump堆栈回溯技术轻松搞定

       如果你在使用MCU进行开发,在项目中后期随着功能和代码的增多,死机似乎是无法避免的。每遇到这个问题,一般需要借助仿真器来定位代码缺陷,但如果遇到了一个非常难以复现的问题,或者硬件已经形成产品,无法再接仿真器的时候就比较难受了。在空指针读写、内存泄漏、堆栈溢出、参数错误等情况都可能使MCU运行死机,有些问题是非常难以复现的,为了复现发生异常的场景,往往需要打很多log进行辅助分析,但一...

DanielLee_ustb的专栏 1万+

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

stm32死机问题的处理

死机原理 基本概念: 连接寄存器LR:调动子程序时,自动存储下一次返回的地址,其实就是最近调用的那一次函数的地址。 死机的过程: 这里我们最需要关注的是第一步入栈: 其中8个寄存器的顺序是 其中出现异常时LR里面的值是固定的 最后更新堆栈指针,我们根据最后使用的堆栈里面的内容,就可以知道出问题时的最后现场。 死机定位 思路简单来讲就是: 找到死机时候的lr寄存器,然后根据lr寄存器的值,...

raoxu1154492168的博客 1万+

【多元统计分析】均值向量和协方差阵的检验——spss上机实验

均值向量和协方差阵的检验——spss上机实验 #参考书目为《多元统计分析》(第五版)——何晓群.中国人民大学出版社 #如有错误,请指正!谢谢~ #关注公众号搜索同名文章获取数据~ 习题2.3 现选取内蒙古、广西、贵州、云南、西藏、宁夏、新疆、甘肃和青海等9个内陆边远省区。选取人均GDP、第三产业比重、人均消费支出、人口自然增长率及文盲半文盲人口占15岁以上人口的比例等5项能较好的说明各地区社会经济发展水平的指标,验证边远及少数民族聚居区的社会经济发展水平与全国平均水平间有无显著差异。 将输入导入spss

suansuannainaizi的博客 3万+

在 VS Code 里配置 SAP Joule for Developers 的 ABAP AI side-by-side 能力

摘要: 随着ABAP开发工具链的演进,VS Code逐渐融入ABAP开发流程,SAP Joule for Developers的ABAP AI能力通过side-by-side模式(基于BTP中央服务)为多系统开发提供统一AI支持。该模式避免了各ABAP后端独立升级AI能力的碎片化问题,由管理员配置BTP订阅URL后,开发者可在ADT或VS Code中全局调用。实际落地需注意角色分工(管理员配置服务,开发者填写URL)、AI units资源规划及配置细节(如区分全局与项目级设置)。建议将Joule URL纳入

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 120

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

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

weixin_34279246的博客 329

【OpenClaw从入门到精通】第02篇:5分钟速通!阿里云/华为云一键部署OpenClaw(附避坑指南·2026实测版)

本文聚焦OpenClaw的云端部署场景,针对本地部署“关机即离线、跨设备访问难”的痛点,详解阿里云(主推)和华为云(备选)的一键部署流程。2026实测验证:阿里云轻量应用服务器通过官方OpenClaw镜像可5分钟完成部署,华为云Flexus L实例需补充SSH配置步骤;文中拆解云端部署核心概念(地域选择、端口放行、成本构成),通过“AI助理定时抓取行业资讯并推送钉钉”的虚拟案例演示云端7×24小时运行价值,同时提供模型调用、服务器成本的精细化控制方案,梳理端口访问失败、API-Key权限异常等高频坑点的解决

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5547

重启、死机问题分析步骤

重启问题主要查看dropbox,如果在dropbox文件夹中发现如下文件,基本可以确定系统发生了重启。 system_server_crash,表明system_server出现了crash system_server_watchdog,表明发生了watchdog重启,一般情况下多是发生死锁导致,要查看具体的堆栈。 Native crash重启问题需要查看tombstone文件夹,如果系统重要进程发生native crash,如system_server,SurfaceFlinger,这些进程如果出现异..

qq_25815655的博客 4256

接入 AI 之后,为什么测试和排障还是没有真正变快?

如果你们准备做平台型 AI,不要先从聊天入口开始想。先把真实数据采上来;再把链路、版本、快照、报告这些核心对象建稳;再把历史沉淀、反馈、检索能力补齐;最后再让 AI 围绕这些对象去工作。这样做出来的 AI,才更容易从“看起来聪明”走向“真正省时间”。

专注 AI 精准测试平台实战落地,分享从代码 Diff 到回归决策的完整工程闭环。主张“先建数据链路,再上 AI 智能”,让测试从“靠经验”走向“基于风险”。 527

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux内核 Crash分析

在工作中经常会遇到一些内核crash的情况,本文就是根据内核出现crash后的打印信息,对其进行了分析,使用的内核版本为:Linux2.6.32。 每一个进程的生命周期内,其生命周期的范围为几毫秒到几个月。一般都是和内核有交互,例如用户空间程序使用系统调用进入内核空间。这时使用的不再是用户空间的栈空间,使用对应的内核栈空间。对每一个进程来说,Linux内核都会把两个不同的数据结构紧凑的存放在一个单独为进程分配的存储空间中:一个是内核态的进程堆栈,另一个是紧挨进程描述符的数据结构thread_info,叫线程

StevenYang2008的博客 1013

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

kdump+crash 解决死机问题 局部变量的获取

kdump+crash 解析函数中的局部变量值

paul1994的博客 608

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java crash dump_实例使用crash分析Kdump转储kernel崩溃内核

前言:有时候碰到系统运行过程中突然出现宕机、死机,但是又不得不找原因的时候还是非常苦恼的,虽然可以通过暂时的防护机制看门狗解决眼下的问题,但是要找到宕机死机的原因,还是得靠专门针对内核进行分析的工具Kdump来实现。虽然不懂Linux内核,但是通过简单的分析还是可以得到是哪个堆栈出现异常导致宕机。KdumpKdump 是一种基于 kexec 的 Linux 内核崩溃捕获机制,将 kernel 崩溃...

weixin_32204241的博客 1084

Android Crash 定位

本文介绍了如何在 Android 手机发生 Crash 时进行 Log 分析的方法, 它可以帮助测试人员快速定位 Android 手机 Crash 发生的原因,同时给研发人员提供有效修改 Bug 的 Log 信息。用自动化测试工具对 Android 手机进行压力测试和稳定性测试,往往通过模拟实际使用场景中所发生的业务量来测试手机性能是否满足要求,测试过程中系统状态信息被实时记录到 Log 文件中,

8317

Crash:一个死锁引发Kernel PANIC的思考

软件开发过程中经常会遇到因驱动或内核引起的死机问题,我遇到的有hung_task和NULL point两种类型问题。通常的分析和解决这两类问题,都是通过查看kernel log的方式去解决,但是有时也会从kernel log中无法找到有用的线索,此时就可以借助crash工具分析此类型的问题了.这里借助在项目中遇到的问题记录下详细的分析过程. 背景知识: 在借助cra...

anglexuchao的博客 2307
上一篇: Linux软链接与硬链接
下一篇: C语言实现进度条
52coder
博客等级 码龄17年 87粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值