首页
›
嵌入式与底层系统
›
023-Linux内核Crash与稳定性工程
›
《驱动模块开发 内核oops分析与常见问题排查》
VIP21
本课程属于:023-Linux内核Crash与稳定性工程
嵌入式与底层系统 · 共 21 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
驱动模块开发:内核oops分析与常见问题排查
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
内核Oops基础概念
什么是Oops · Oops与panic的区别 · Oops信息的基本结构
Oops
内核
02
Oops信息解读
Oops消息的各个字段含义(BUG · RIP · Call Trace等)
Oops
信息解读
03
内核符号表与地址解析
/proc/kallsyms · System.map · addr2line工具的使用
内核符号表
地址解析
04
内核调试配置
CONFIG_DEBUG_INFO · CONFIG_KALLSYMS · CONFIG_FRAME_POINT…
内核调试配置
CONFIG
05
Oops常见原因1
空指针解引用(NULL pointe…
Oops
常见原因1
06
Oops常见原因2
使用已释放的内存(Use-After…
Oops
常见原因2
07
Oops常见原因3
缓冲区溢出(Buffer Overf…
Oops
常见原因3
08
Oops常见原因4
内核栈溢出(Kernel Stack…
Oops
常见原因4
09
Oops常见原因5
原子上下文中的睡眠(Sleeping…
Oops
常见原因5
10
Oops常见原因6
锁使用不当(死锁 · 竞争条件)的原理与案例分析
Oops
常见原因6
11
Oops常见原因7
模块引用计数错误(Module Re…
Oops
常见原因7
12
Oops常见原因8
中断处理程序中的非法操作(Inter…
Oops
常见原因8
13
Oops常见原因9
内存访问越界(Out-of-Boun…
Oops
常见原因9
14
Oops常见原因10
设备DMA操作错误(DMA Erro…
Oops
常见原因10
15
使用GDB调试内核模块
加载模块符号 · 设置断点 · 查看变量
GDB
使用
16
使用kdump与crash工具
kdump配置 · crash工具的基本命令与Oops分…
kdump
crash
17
使用ftrace追踪内核函数
ftrace的基本使用 · function_graph追踪器
ftrace
使用
18
使用printk与动态调试
printk日志级别 · 动态调试(dynamic debug…
printk
使用
19
使用KASAN检测内存错误
KASAN的原理 · 配置与Oops分析
KASAN
使用
20
使用KMSAN检测未初始化内存
KMSAN的原理 · 配置与Oops分析
KMSAN
使用
21
使用UBSan检测未定义行为
UBSan的原理 · 配置与Oops分析
UBSan
使用
22
使用Lockdep检测锁依赖问题
Lockdep的原理 · 配置与死锁检测
Lockdep
使用
23
使用Kcov进行代码覆盖率分析
Kcov的原理 · 配置与驱动测试
Kcov
使用
24
Oops分析实战1
字符设备驱动中的空指针解引用
Oops
分析实战1
25
Oops分析实战2
网络驱动中的Use-After-Fr…
Oops
分析实战2
26
Oops分析实战3
块设备驱动中的缓冲区溢出
Oops
分析实战3
27
Oops分析实战4
USB驱动中的原子上下文睡眠
Oops
分析实战4
28
Oops分析实战5
PCI驱动中的DMA错误
Oops
分析实战5
29
内核Oops预防最佳实践
编码规范 · 静态分析工具(Sparse · Coccinelle)的使用
Oops
内核
30
课程总结与进阶学习路径
内核内存调试 · 性能分析 · 社区资源推荐
课程总结
进阶学习路径
所属VIP或分类
同VIP:Android-Treble架构下HAL层稳定性优化工程
同VIP:Android内核启动流程分析与工程调试工程手册
同VIP:Android内核文件系统驱动开发与调试手册工程