首页
›
Linux内核与驱动
›
187-嵌入式Linux驱动开发
›
《嵌入式Linux驱动开发驱动调试:oops分析与栈回溯》
VIP10
本课程属于:187-嵌入式Linux驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
嵌入式Linux驱动开发驱动调试:oops分析与栈回溯
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Oops概念与内核错误分类
什么是Oops · panic · BUG
Oops
概念
02
Oops信息结构解析
Oops消息的典型格式 · 各字段含义(如PC · LR
Oops
信息结构解析
03
内核Oops触发机制
内核如何检测异常 · 异常向量表 · do_page_fault等核心处理…
Oops
内核
04
栈回溯原理
ARM64/x86_64架构下栈帧布… · FP/LR/SP寄存器在回溯中的作用
栈回溯原理
ARM64/x86
05
栈回溯工具链
addr2line · objdump · gdb
栈回溯工具链
addr2line
06
内核符号表与kallsyms
/proc/kallsyms的作用 · 如何将地址解析为函数名+偏移
kallsyms
内核符号表
07
vmlinux与vmlinuz的区别
调试符号的保留 · 编译选项(CONFIG_DEBUG_…
vmlinux
vmlinuz
08
模块Oops分析
模块加载地址 · 模块符号表 · 如何定位模块内的崩溃点
Oops
模块
09
Oops中的寄存器分析
PC · LR · SP
Oops
寄存器分析
10
栈数据解读
如何从栈内存中提取局部变量 · 函数参数 · 返回地址等信息
栈数据解读
如何从栈内存
11
常见Oops类型(一)
NULL指针解引用——原因 · 典型栈回溯特征 · 修复方法
Oops
常见
12
常见Oops类型(二)
野指针与内存越界——如何从Oops信…
Oops
常见
13
常见Oops类型(三)
栈溢出——内核栈大小限制 · 栈溢出检测机制(STACKPROTE…
Oops
常见
14
常见Oops类型(四)
原子上下文睡眠——调度器检测 · might_sleep与BUG_ON
Oops
常见
15
常见Oops类型(五)
死锁与自旋锁滥用——lockdep输…
Oops
常见
16
常见Oops类型(六)
中断上下文非法操作——中断栈 · 软中断 · tasklet中的常见错误
Oops
常见
17
Oops与内核配置
CONFIG_DEBUG_KERNE… · CONFIG_DEBUG_INFO · CONFIG_KALLSYMS等调试…
Oops
内核配置
18
使用printk辅助调试
printk日志级别 · 动态调试(dynamic_debug… · trace_printk
printk
使用
19
使用ftrace追踪函数调用
ftrace原理 · trace-cmd · function_graph对栈回溯…
ftrace
使用
20
使用kprobe动态插桩
kprobe/jprobe/kret…
kprobe
使用
21
使用kgdb远程调试
kgdb环境搭建 · 断点设置 · 在Oops现场查看变量与栈
kgdb
使用
22
使用crash工具分析dump
kdump机制 · vmcore收集 · crash命令解析栈回溯
crash
dump
23
Oops分析实战(一)
字符设备驱动——读写函数中NULL指…
Oops
分析实战
24
Oops分析实战(二)
中断处理函数——在中断上下文中调用可…
Oops
分析实战
25
Oops分析实战(三)
DMA驱动——缓冲区溢出导致内核栈被…
Oops
分析实战
26
Oops分析实战(四)
并发竞态——自旋锁使用不当导致死锁与…
Oops
分析实战
27
Oops分析实战(五)
内存管理——kmalloc后未初始化…
Oops
分析实战
28
Oops分析实战(六)
设备树与platform驱动——pr…
Oops
分析实战
29
Oops预防与编码规范
内核编码风格 · checkpatch.pl · 静态分析工具(sparse
Oops
预防
30
课程总结与进阶路径
Oops分析能力图谱 · 推荐阅读(LDD3 · 内核源码)
课程总结
进阶路径
所属VIP或分类
同VIP:SPI总线驱动注册枚举与数据传输性能调优方法
同VIP:嵌入式Linux内核模块与字符设备驱动开发
同VIP:嵌入式Linux驱动开发字符设备驱动从注册到卸载全流程