ubantu 黑屏_死机黑屏专题上线啦,早鸟只要299,看完薪水翻一番

article/2025/10/8 5:34:16

de40f1396f0145e12523238ebc6b16a3.png

10de39e7f7cfc43d770063ae9217081f.png

全程约5小时高清,140多页ppt,8大实验,基于x86_64的Centos 7.6arm64,提供全套实验素材和环境。全面介绍kdump+crash在死机黑屏方面的实战应用,全部案例源自线上云服务器和嵌入式产品开发实际案例!

看死机黑屏专题,今年薪水翻一番!!

订阅方法:(进入taobao店搜索店铺:奔跑吧linux内核总店)

1. 直接订阅。

原价:399

早鸟价格:299 (截止3月底)

aeac272b20a8faf2dcf93630b559d935.png

2. 订阅第一季+第二季旗舰篇,送:

*价值399元的死机黑屏专题视频+

*签名本奔跑吧入门篇纸质书,

优惠多多,干货满满,今年加薪!!

e942ddd87cdb87ed37321664028fa5c3.png

 小明是某IT公司的资深架构运维攻城狮,一次,老板来了个大活,给A股某个券商安装系统。第一天开盘,股价一直狂跌,然后就死机了,老板损失惨重。老板喊小明来解决。小明翻遍了某哥的私房宝典,也找不到解决办法,两手一摊:搞不定,要找红帽。老板怒:滚

现在是Linux系统大行其道的年代,虽然Linux系统是由全球顶尖的程序猿开发的,但是蛮难不会发生死机黑屏的问题。就连牛气冲天的微软也经常在关键时刻蓝屏死机。小的时候看到windows蓝屏死机了,总在想,如果我能分析出来蓝屏死机的原因就牛了。

f666a93262413041eaebed68564339e7.png

windows的死机

955ae414f1aea350c3796f7f191f3373.png

Linux的死机黑屏

可是到了今天,依然不会分析windows蓝屏死机,但是如果今天你还不会分析Linux内核的黑屏死机的话,就会被淘汰了。不管你是Linux/Centos运维还是Linux驱动内核研发,不管有多少个RHEL的认证证书,什么RHCE/RHCA(Red Hat Certified Architect, 红帽最高级的架构师证书)只是敲门砖,重要的是帮助老板和客户快速定位和解决RHEL/Centos或者产品的死机黑屏问题。

01 Kdump+Crash介绍

1.  kdump+Crash工具是啥?

当系统发生崩溃的时候,需要有一种方法能把发生崩溃时候的现场(上下文)保存下来,提供给系统管理人员和开发人员进行定位分析。早在2005年的时候,kdump这个想法已经实现了,到了现在各大Linux发行版都支持kdump,包括RHEL和Centos。

当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。

2. kdump+crash工具能解决啥问题?

笨叔把死机黑屏有两种情况,从CPU角度来看:

一种是真死:比如硬件的bug把系统总线挂死,CPU也不跑了,这是真死。这种情况有一个显著的特点:就是系统需要 poweroff下电(也叫冷启动)之后才能恢复,热启动是不行的。冷启动之后,发生奔溃的现场就从DDR内存里消失了。

第二种是假死:假死是我们看到设备没反应了,屏幕灭了,键盘鼠标也不动,ssh也访问不了等等,但是CPU是活的,这种没有相应的死,笨叔把它叫做假死,英文称为unresponsive,好比一个人休克了,但是心脏还是跳动的,医生可以利用电击等手段救活。

kdump+crash工具最擅长医治假死的情况,百医百治,药到病除。对于第一种情况,因为系统需要把电重新上电才能启动,kdump无计可施了,遇到这种情况只能上硬件仿真器等等了。

c38246c2dd756570bd88ecd27336fc18.png

3. kdump+crash工具在Centos上的安装

kdump+crash工具在Centos 7.x系统上已经很成熟了,简单几步就安装完成。

4. 怎么测试kdump+crash工具已经部署成功?

输入命令“service kdump status”可以看到kdump服务是否配置成功。

输入如下命令可以测试:

# echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger

如果没有问题,系统会自动重启,重启后可以看到在/var/crash/目录下生成了coredump文件。

5. Crash工具有哪些常用的命令。

crash工具一共有50个命令,常用的命令也就那么几个,大家可以跟着笨叔的视频一起来学习常用的几个命令。

be96e0c03d1c7cdb9775d7d1537216a0.png

6. 怎么在arm64环境下玩kdump+crash?

很多小伙伴可能会对ARM64更感兴趣,希望可以搭建一个免费的可以玩的平台。笨叔教大家怎么在Host主机里利用Qemu安装一个Debian for ARM64系统,然后在里面玩kdump+crash,即免费又好玩,省去买开发板的钱。

02 kdump+crash死机案例分析

笨叔在这一次挑战死机的专题视频中,设计了8个死机案例,分别有:

lab1:简单的空指针引发的panic

lab2:访问已经被删除的list head链表

lab3:复杂一点的空指针引发的panic

lab4:一个真实的驱动引发的死机

lab5:一个真实的驱动引发的死锁,导致系统死机

lab6:如何找到函数调用参数的在栈中地址然后获取具体的值

lab7:分析一个复杂的线上死锁导致的死机黑屏例子

lab8:  手工恢复函数调用栈backtrack (arm64)

lab1: 简单的空指针引发的panic

一个简单的例子,来让我们看看如何使用kdump+crash工具来定位问题。

11ad6da6661362b53e17ba1e3c173ece.png

运行crash工具之后。

bd18ad6e3f58a1fd507deff6fa4913f6.png

crash工具简单明了的告诉你panic的原因。

45755b4b7b331c628095d1be5a91a622.png

用bt命令可以查看发生崩溃时的内核栈调用关系backtrace,通过backtrace来反推发生了神马事情导致内核崩溃了。RIP寄存器指示了发生错误的具体地址。

9ff05b2ea5ad71531f9d764c8081858b.png

通过反汇编dis命令就可以看到具体出错是在那条指令了,是不是入门很easy?

如果你觉得上面三板斧就是crash的全部,那就大错特错了,crash工具迷人的地方,就像警察破案,需要一步一步进行推理和推导。

lab4:一个来源于真实驱动例子的死机

96685ff1d5f2ec2a68f38f93864e043e.png

上面是来自项目上一个小朋友写的驱动。这个驱动,一上来就死机给你一个下马威,你能看出来是真名原因导致的死机吗?

如果一下子看不了,没关系,可以来看笨叔的[死磕死机专题]视频节目。

lab6:推导函数形参的存储位置和具体的值

我们常常在进行死机分析和推理的过程中,需要分析调用函数的形参具体存放在哪里?然后就可以知道在崩溃时刻,这些形参都是具体什么值,这些值是非常珍贵的破案现场,这个过程是非常有意思的。

60207e36b2f860aa7747fc4526d2abd7.png

这是非常高级而且有用的技巧,您需要了解x84_64或者arm64体系结构的参数调用规则,以及栈是如何布局的。另外还需要结合反汇编来进行推导。

e1e5ae8f4c0cf960086790949d2590f9.png

在这个实验里,笨叔教大家如何通过反汇编+backtrace,来推导出在泪崩时刻,create_oops()函数的第二和第三个参数具体存放在哪里?他们具体的值又是多少?

lab7:一个复杂的死锁死机例子

一个来源真实线上云系统死锁导致的死机的案例。

ae2e759bd07c85136992236e3ab49c15.png

76a4c7eb2f3245db7c371ea1191ec51a.png

通过这个例子的学习,我们有能力和有信心去解决线上服务器或者产品发生死机黑屏的问题,我们不再是只会安装Centos系统的小运维工程师了,我们开始会分析和定位复杂的死机问题了,给老板展示我们的硬实力!!!

lab8:手动恢复函数调用栈(arm64)

412e2e0ef558ce8480198a19e918e49b.png

这是一个非常高的技巧,在死机实战过程中是非常有用的神技。重要是要明白和理解ARM64的函数调用的协议(procedure call standard)以及栈帧是怎么布局 和组织的。

9880ea041d9f9c9e2d884bd4b987a3a9.png

说了这么多,小伙伴会问,怎么参加笨叔的死机专题视频学习?

d6836b67429de1340239a6c7be435887.png

fd0e75f1ca6a099a767b12e73dced427.png

死机专题视频课程分成上下两集,全程5小时高清视频,140多页ppt,8大死机案例:

上集:x86_64专场,讲述Centos 7.x系统的死机案例分析 (3个多小时)

下集:ARM64专场 (约1.5小时)

全球唯一和独一无二的手把手解决死机问题的视频,只在奔跑吧Linux社区!

笨叔的微店(长按识别二维码进店):

4f515f3ecea644b93457b4def6de7676.png

或者淘宝店:搜索 “奔跑吧Linux内核”

[往期精彩]

《奔跑吧Linux内核》第二版意见收集

[代码导读4]物理页面分配

[代码导读3] 页表映射过程

第二季旗舰篇终于来了,进程管理、中断管理和锁机制三合一

[旗舰篇] 第一季旗舰篇资料汇总

不能不会的VIM+GIT

《奔跑吧Linux內核》繁體版預覽

[笨叔点滴15]ARMv8里异常处理哪些蛇神牛鬼 2

[笨叔点滴14] ARMv8里异常处理哪些蛇神牛鬼 1

[笨叔点滴13]哪些异常处理的事儿

[笨叔点滴12]面试必考:如果在中断处理函数里发生了缺页中断会怎样?为什么?

[笨叔点滴11] malloc惹的祸

[笨叔点滴10] 中断到“底”来了吗?

[笨叔点滴9] GNU GCC扩展2

[笨叔点滴8] GNU C语言的扩展

[笨叔点滴7] 再也回不去的C语言

[笨叔点滴6] 叔,这个git咋玩啊?

[笨叔点滴5] git rebase和git merge究竟有啥区别?

[笨叔点滴4]“栈”谁便宜了2

[笨叔点滴3] “栈”谁便宜了?

[笨叔点滴2] 为啥子ARM32体系结构中每个处理模式都有一个单独的栈?

[笨叔点滴1] 为什么do_page_fault函数里代码需要判断用户态还是内核态?

LinuxCon 2018北京游记(1)

LinuxCon2018北京笨叔笨游记 2

《奔跑吧linux内核》配套资源迁移到码云上

考点来了:4月18号视频更新

代码导读之如何使用qemu来单步调试head.S

代码导读之内存管理初始化 - 启动汇编

视频更新:内存管理代码框架导读

DMA那些事儿

私密VIP群答疑

高级运维必杀技:如何图形化单步调试RHEL/Centos 7里的内核?

首发:Meltdown漏洞分析与实践

[奔跑吧Linux内核] 故乡

致敬Beyond


http://chatgpt.dhexx.cn/article/aZgpdkyg.shtml

相关文章

C语言程序运行黑屏,Win7开机黑屏代码0XC000000F的原因及解决方法

原标题:Win7开机黑屏代码0XC000000F的原因及解决方法 Win7开机黑屏出现0XC000000F代码是怎么回事?最近有用户朋友的电脑开机就遇到了这个问题,向云骑士求助。今天云骑士把解决该问题的方法整理一下,与大家一起分享。 原因分析: 这…

前端排查WebRtc黑屏记录

背景 本人前端开发,在做webrtc视频通话时,在部分安卓手机端,接收webrtc视频流黑屏,由于对webrtc不是太熟悉,一时不知道该如何下手排查。 第一步,发现问题的是安卓手机的webview,查看了webview版…

安装linux系统 黑屏,Ubuntu 16.04安装时显示器黑屏处理

问题描述: (1)Ubuntu 16.04使用USB启动盘安装时,出现"try ubuntu without installation"或“install ubuntu”选择,Enter选择安装后,显示器黑屏无任何显示。 (2)当Ubuntu系统安装结束后,系统启动后显示器黑屏…

计算机黑屏死机,电脑黑屏死机怎么解决(一键修复电脑黑屏死机的方式)

世界上有很多东西都会随着时间发生改变,但是Windows的BUG却不会。 对于微软来说,Windows系统在更新的同时又带来一堆BUG,已经是一项传统艺能。 放眼全球,大部分用户都曾遭到过Windows蓝屏死机的折磨。 资料显示,蓝屏死…

RV1109--LCD黑屏问题

RV1109–LCD黑屏问题 1、问题描述 平台:RV1109 需求:兼容一块10.1寸mipi的LCD屏(1218-A101NL66-28K),是rv1109的第10块屏幕,使用lcd_index10(lcd_index涉及到我司兼容LCD方式)来标…

C++实现系统黑屏

定义 电脑黑屏通常有两种定义,一种是指硬件黑屏,包括但不限于硬件故障、断电、显示器被硬件或软件关闭等;另一种是指系统层面上的黑屏,两种黑屏的最大差别就是系统层面上的黑屏会发光,而硬件黑屏则基本上不会。 这里…

C语言课程设计项目

C语言课程设计项目 团队介绍单位名怀化学院计算机科学与工程学院班级小组序号1901班第八组团队名称潜力无限组课程设计题目学生限时答题评测系统 一、课程设计题目基本要求介绍 (1) 输入信息:学生输入自己的学号姓名作为学生基本信息&…

C语言源码做的通讯录管理系统课程设计(源码+课程设计报告)

一、课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要。本次设计的目的是通过课程设计的综合训练&#xf…

C语言源码做的班级档案管理系统课程设计(源码+课程设计报告)

一、课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要。本次设计的目的是通过课程设计的综合训练&#xf…

【C++程序设计】课程设计报告

作者:何翔 学院:计算机学院 学号:04191315 班级:软件1903 完整资料:https://download.csdn.net/download/HXBest/75523613 项目资料下载:https://download.csdn.net/download/HXBest/21947475

C语言——课程设计

一、实验目的 了解开发环境掌握结构体变量的定义和使用;掌握结构体数组的定义和使用;掌握文件输入,输出基本方法掌握函数用法 二、实验内容 【项目1】完成以下功能的设计。 此学生成绩管理可以实现对学生成绩及基本信息进行创建、添加、删…

学生成绩管理系统-C语言(附源码和课程设计报告)

学生成绩管理系统-C语言&#xff08;附源码和课程设计报告&#xff09; 这是我初学C语言时的课程设计作业&#xff0c;源码贴出来希望对有需要的小伙伴有所帮助 系统功能层次图 头文件源代码 #include<stdio.h> #include<stdlib.h> #define FILENAME"stude…

通讯录管理系统 C语言课程设计实验报告

通讯录管理系统C语言课程设计 一、实验目的 1.巩固和加深学生对C语言课程的基本知识的理解和掌握 2.掌握C语言编程和程序调试的基本技能 3.利用C语言进行基本的软件设计 4.掌握书写程序设计说明文档的能力 5.提高运用C语言解决实际问题的能力 二.程序要求 学生信息包括&#x…

C语言学生成绩管理系统(课程设计报告书)

今天再跟大家分享一份课程设计报告&#xff1a;C语言学生成绩管理系统源码 程序设计组成框图&#xff1a; #include<stdio.h> #include<conio.h> #include<malloc.h> #include<string.h>typedef struct STUDENT { char studentNumber[10];/*学生学号*/…

记录C语言课程设计报告-图书管理系统

倾心原创&#xff0c;转载请备注原文地址&#xff0c;谢谢。 主要内容&#xff1a; 图书信息包括&#xff1a;书名、作者名、ISBN号、出版单位、出版年份、价格等。试设计一个图书信息管理系统&#xff0c;使之能提供以下功能&#xff1a; &#xff08;1&#xff09;系统以菜…

C语言课程设计

《C语言课程设计》任务书 课程设计名称&#xff1a;C语言课程设计&#xff08;C Language Designing &#xff09; 课程设计学分&#xff1a;1学分 课程设计时间&#xff1a;第一学年第1学期 课程设计学时&#xff08;周数&#xff09;&#xff1a;28学时&#xff08;1周&…

C语言课程设计报告-菜单设计

源代码&#xff1a;https://blog.csdn.net/queen00000/article/details/94468911 xxx大学 C语言课程设计报告 题 目 菜单设计 专业班级 组 别 学生姓名…

连续邮资问题

1、实验环境 Visual C 6.0 2、实验目的和要求 利用回溯法解决连续邮资问题。假设某国家发行了n种不同面值的邮票并且规定每张信封上最多只允许贴m张。对于给定的n和m的值&#xff0c;给出邮票面值的最佳设计&#xff0c;使得可在1张信封上贴出从邮资1开始&#xff0c;增量为…

寄信收信问题

问题 在一个村庄里有i个人&#xff0c;他们每个人只能寄出一封信&#xff0c;接收一封信&#xff0c;并且不能给自己寄信。那么请问一共有多少种寄信收信方式。 思路 遇到此类问题&#xff0c;应该从简单的情况考虑。比如&#xff0c;当村里只有两个人的时候&#xff0c;只有…

【图论】中国邮递员问题、平面图上最大割问题的多项式时间算法

文章目录 一、中国邮递员问题1. 与欧拉回路的关系2. Edmonds-Johnson算法3. 一个例子 二、平面图上的最大割问题1. 割2. 最大割及其 N P \bold{NP} NP完全性3. 平面图上的最大割问题4. 奇回路覆盖5. 转化为一般图最大匹配6. 一个例子 三、顶点图上最大割问题的 N P \bold{NP} N…