利用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

在WPS/Office中免费使用AI,快速提升办公效率!​

《免费解锁WPS/Office AI办公神器教程》摘要: 本教程详解如何通过第三方插件OfficeAI免费实现WPS/Office智能办公,突破官方付费限制。从安全设置到安装配置,手把手教学,涵盖文档生成、PPT美化、Excel图表等核心功能。关键优势包括零成本、全场景支持及云端/本地双模式切换,并附常见问题解决方案。注意需使用WPS 2024+版本,安装时需临时关闭杀毒软件。教程强调工具来源合法性,建议商用购买正版授权。(149字)

杜哥无敌的博客 2305

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

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

lunhui2016的博客 6902

设计的多实例引用(Multiple Instances of a Design Reference)

一、什么是“设计的多实例引用” 在层次化的设计中,我们经常会将一个module例化多份,这些例化的instance就是设计的module的多实例引用。 二、为什么要解决多实例引用 三、怎么解决多实例引用 ...

kevindas的博客 3719

YOLOv8冻结层的迁移学习 全网首发

在调用时会创建trainer此时的模型配置更新了,冻结了个p。

qq_42693842的博客 6586

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

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

DanielLee_ustb的专栏 1万+

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 944

stm32死机问题的处理

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

raoxu1154492168的博客 1万+

【Codecs系列】x265编码器(十二):子像素运动搜索

在基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最为耗时的模块。运动搜索包括整像素运动搜索和子像素运动搜索,其中整像素运动搜索已经有很多快速算法,比如经典的三步搜索法、菱形搜索、六边形搜索以及TZSearch等等;但子像素搜索的快速算法却比较少,本文主要讲解x265编码器中的子像素搜索方法以及相关的快速搜索方法。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 749

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1239

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

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

weixin_34279246的博客 329

华为OD机试新系统真题 【查找最佳充电策略】

华为OD机试 新系统真题【查找最佳充电策略】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找最佳充电策略】多语言题解。

qq_45776114的博客 434

重启、死机问题分析步骤

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

qq_25815655的博客 4256

[AI8051U入门第一步]环境安装和按键控制流水灯

本文介绍了AI8051U单片机的开发环境搭建及GPIO应用。主要内容包括:1)通过ISP软件完成Keil开发环境配置;2)AI8051U特性介绍,包括32位8051内核、浮点运算单元及丰富外设;3)GPIO输入输出模式解析,并附流水灯控制代码;4)提供完整的系统初始化、延时函数及LED控制代码实现。文章配套资源包含完整工程代码,适用于智能硬件及物联网开发。

sinat_58149788的博客 671

jre9下载 jdk9

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

Linux内核 Crash分析

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

StevenYang2008的博客 1013

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

paul1994的博客 608

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Devexpress16.2.6破解工具

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

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、付费专栏及课程。

余额充值