🐧 内核崩溃 · 实战目录
30章 · 从日志到补丁
📘 Android / Linux 内核
⚡ 30个实战章节
🧩 含 OOPS / Panic / Watchdog
01
内核崩溃概述
什么是Kernel Panic · OOPS · Watchdog · 崩溃对系统的影响
02
崩溃日志获取
串口日志 · pstore/ramoops · last_kmsg · dmesg
03
日志结构解析
Oops消息 · Backtrace · 寄存器 · 栈信息
04
常用调试工具
addr2line · objdump · gdb · crash · Trace32
05
KASLR与符号解析
KASLR原理 · 禁用 · vmlinux · System.map
06
空指针解引用
NULL pointer dereference · 典型案例 · 修复
07
内存越界访问
栈/堆/全局溢出 · KASAN检测
08
Use-After-Free
UAF原理 · slab分配器 · KASAN/KMSAN
09
死锁与自旋锁
spinlock/mutex死锁 · lockdep · 修复
10
原子上下文睡眠
原子上下文 · might_sleep · 场景与修复
11
中断上下文错误
中断中调用睡眠函数 · 上下文限制
12
调度器相关崩溃
调度器BUG · RCU stall · 抢占计数错误
13
内存管理崩溃
页面分配失败 · OOM · 碎片化 · CMA失败
14
文件系统崩溃
ext4/f2fs错误 · inode损坏 · 超级块 · 日志恢复
15
驱动崩溃分析
字符设备 · platform驱动 · DMA错误
16
电源管理崩溃
suspend/resume · wakelock · PM QoS
17
时序问题与竞态
race condition · 并发保护 · 内存屏障
18
硬件错误处理
SError · 异常 · ECC错误 · 总线错误
19
Kernel OOPS实战
完整分析真实OOPS日志 · 从日志到修复
20
Kernel Panic实战
真实Panic场景 · 定位根因
21
Watchdog超时分析
hard/soft lockup · hung task
22
崩溃复现与最小化
最小复现程序 · syzkaller fuzz
23
内核补丁编写
补丁格式 · 提交规范 · backport
24
内核配置与稳定性
CONFIG_DEBUG_* · GKI · 内核模块
25
Crash工具高级用法
分析vmcore · 数据结构 · 栈回溯
26
Trace32与JTAG调试
JTAG连接 · 断点 · 单步调试内核
27
Ftrace与动态追踪
function_graph · trace_printk · 跟踪调用
28
eBPF在内核调试中
bpftrace · bcc · 动态分析
29
自动化崩溃分析
python解析日志 · 自动定位崩溃模式
30
综合实战
从崩溃日志到修复补丁 · 完整流程演练