首页
›
Linux内核与驱动
›
002-驱动开发实战
›
《Linux驱动开发常见问题:内核崩溃排查手册》
VIP10
本课程属于:002-驱动开发实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动开发常见问题:内核崩溃排查手册
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
内核崩溃概述
什么是内核崩溃(Kernel Pan… · 常见原因分类(硬件 · 驱动
内核崩溃概述
Kernel
02
内核崩溃信息解读
Oops信息的结构分析(错误地址 · CPU寄存器 · 堆栈回溯
内核崩溃信息解读
Oops
03
内核配置与调试选项
开启CONFIG_DEBUG_INF… · CONFIG_KALLSYMS · CONFIG_MAGIC_SYSRQ
内核配置
调试选项
04
kdump与crash工具
kdump机制原理 · 安装与配置kdump · 使用crash工具分析vmcore转…
kdump
crash
05
kexec与快速重启
kexec机制原理 · 使用kexec跳过BIOS快速启动内… · 在崩溃时自动触发kdump
kexec
快速重启
06
动态调试(Dynamic Debug)
pr_debug与dev_dbg的启… · 通过debugfs动态控制打印级别 · 过滤特定文件或函数
Dynamic
Debug
07
printk与日志级别
printk的8个日志级别 · 控制台日志级别设置 · dmesg与/var/log/mes…
printk
日志级别
08
ftrace与函数跟踪
ftrace框架原理 · 使用tracefs设置跟踪点 · 跟踪特定内核函数调用链
ftrace
函数跟踪
09
perf与性能剖析
perf工具安装 · 使用perf record/repo… · 定位热点函数
perf
性能剖析
10
SystemTap与动态探测
SystemTap脚本编写 · 探测内核函数入口/出口 · 捕获函数参数与返回值
SystemTap
动态探测
11
eBPF与BCC工具
eBPF技术简介 · 使用BCC工具集(如bcc/open… · bcc/execsnoop)进行动态…
eBPF
BCC
12
内存越界与野指针
常见内存越界场景(kmalloc越界 · 栈溢出) · 使用KASAN(Kernel Add…
内存越界
野指针
13
内存泄漏排查
kmemleak工具原理 · 启用kmemleak · 分析泄漏报告定位未释放的内存
内存泄漏排查
kmemleak
14
死锁与锁竞争
死锁检测(LOCKDEP) · 使用lockdep报告分析锁依赖循环 · spinlock与mutex使用注意…
死锁
锁竞争
15
原子上下文违规
在原子上下文(中断 · spinlock)中调用可能睡眠的函… · 使用CONFIG_DEBUG_ATO…
原子上下文违规
原子上下文
16
中断上下文问题
中断处理函数中执行耗时操作 · 中断共享与IRQ号冲突 · 使用irqtop查看中断分布
断上下文问题
断处理函数
17
内核模块加载/卸载崩溃
模块初始化/退出函数中的错误 · 模块依赖与符号解析失败 · 使用modprobe与insmod调…
内核模块加载
卸载崩溃
18
设备驱动DMA问题
DMA缓冲区一致性 · DMA掩码设置错误 · 使用swiotlb与IOMMU调试
DMA
设备驱动
19
设备驱动中断处理
request_irq失败原因 · 中断处理函数中的竞态 · 使用/proc/interrupts…
设备驱动
断处理
20
设备驱动文件操作
file_operations结构体… · read/write/ioctl中的…
设备驱动文件操作
file
21
设备驱动并发与竞态
自旋锁 · 互斥锁 · 读写锁
设备驱动并发
竞态
22
设备驱动定时器与工作队列
timer_list与work_st… · del_timer_sync与can…
设备驱动定时器
工作队列
23
设备驱动电源管理
suspend/resume回调中的… · 设备状态保存与恢复 · 使用PM调试框架
设备驱动电源管理
suspend/resu…
24
设备驱动热插拔
设备添加/移除时的同步问题 · 使用uevent与sysfs调试
设备驱动热插拔
设备添加
25
设备驱动IOCTL与用户态交互
copy_from_user/cop… · ioctl命令号冲突
IOCTL
设备驱动
26
设备驱动procfs与debugfs
创建与删除proc/debugfs文… · 文件操作函数中的锁使用
procfs
debugfs
27
设备驱动网络子系统
网络设备驱动注册 · NAPI轮询 · sk_buff内存管理
设备驱动网络子系…
网络设备驱动注册
28
设备驱动块设备子系统
块设备请求队列 · bio结构体处理 · 使用blktrace分析IO路径
设备驱动块设备子…
块设备请求队列
29
设备驱动USB子系统
USB设备枚举 · urb提交与取消 · 使用usbmon抓取USB数据
USB
设备驱动
30
内核崩溃实战案例分析
综合案例 · 使用kdump+crash+ftra…
内核崩溃实战案例…
综合案例
所属VIP或分类
同VIP:Linux内核ioctl命令设计:编码规范与安全校验
同VIP:Linux内核驱动调试:kgdb与printk联合使用
同VIP:Linux驱动DMA缓冲区共享与mmap接口开发