JTAG/逻辑分析仪
GDB/kdump/ftrace
环境配置实战
Panic原因
Oops信息解读
kdump/vmcore
crash工具
kmalloc/slab
越界典型场景
KASAN/SLUB debug
案例分析
kmemleak
Valgrind
驱动泄漏模式
修复策略
四个必要条件
lockdep原理
spinlock/mutex案例
预防修复
并发根源
原子操作/自旋锁
RCU机制
KCSAN检测
中断处理限制
上半部/下半部
中断共享嵌套
实测案例
DMA映射/一致性
IOMMU/SMMU
内存泄漏越界
swiotlb调试
内核定时器精度
hrtimer
workqueue延迟
tracepoint跟踪
挂起/恢复流程
设备电源回调
DMA/时钟管理
suspend/resume调试
CPU热插拔
PCIe热插拔
设备状态迁移
udev/sysfs调试
VFS层/文件系统
块设备请求
元数据一致性
fault injection
NAPI/中断节流
sk_buff管理
协议栈交互
netconsole调试
USB协议栈
urb处理
枚举/断开
usbmon抓包
配置空间访问
BAR映射
MSI/MSI-X
AER错误处理
设备树语法
匹配与覆盖
资源解析错误
dt-validate
module_init/exit
依赖关系
符号导出
modprobe/lsmod
CPU占用率过高
中断风暴
内存碎片化
perf/vmstat
printk级别/格式
动态调试
trace_printk
日志轮转
LTP
stress-ng
自定义压力脚本
长时间测试
内核故障注入框架
配置与使用
模拟内存分配失败
模拟IO错误
动态插桩原理
kprobe/jprobe
SystemTap脚本
实战案例
eBPF基础
bcc工具集
memleak/deadlock_detector
eBPF监控驱动
ioctl接口设计
copy_from/to_user
mmap映射问题
strace调试
CPU亲和性
缓存一致性
内存屏障
taskset/numactl
固件加载流程
超时处理
版本兼容性
request_firmware
kunit单元测试
autotest框架
CI/CD集成
测试用例设计
调试思维导图
常见问题速查表
代码审查清单
持续学习路径