首页
›
热销单品
›
嵌入式Linux与RTOS
›
《Linux内核模块编写与调试技巧》
所属分类:嵌入式Linux与RTOS
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
Linux内核模块编写与调试技巧
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 内核模块的作用 · 课程整体框架与学习方法
课程导入
学习目标
02
开发环境搭建
安装Linux内核头文件 · 配置编译工具链 · 使用虚拟机或容器进行安全实验
开发环境搭建
Linux
03
内核模块基础
模块结构(init/exit函数) · module_init/module… · 许可证与作者信息声明
内核模块基础
init/exit
04
第一个内核模块
编写Hello World模块 · Makefile编写 · 编译加载卸载流程及dmesg日志查看
第一个内核模块
Hello
05
模块参数与导出符号
module_param宏 · 参数类型与权限 · EXPORT_SYMBOL导出函数给…
模块参数
导出符号
06
内核内存管理基础
kmalloc/kfree · GFP标志 · 内存分配失败处理及常见内存错误
内核内存管理基础
kmalloc/kfre…
07
内核链表与哈希表
list_head结构 · 遍历与操作 · 哈希表实现及在模块中的应用
内核链表
哈希表
08
内核并发与同步
自旋锁 · 互斥锁 · 读写锁
内核并发
同步
09
内核等待队列与工作队列
等待队列原理 · wake_up机制 · 工作队列使用场景与实现
内核等待队列
工作队列
10
内核定时器与延迟
timer_list · hrtimer · msleep/udelay等延迟函数…
内核定时器
延迟
11
字符设备驱动基础
注册字符设备 · file_operations结构 · 设备号分配与注销
字符设备驱动基础
注册字符设备
12
字符设备驱动实战
实现read/write/ioctl… · 与用户空间交互并处理数据拷贝
字符设备驱动实战
read/write/i…
13
内核模块与用户空间通信
procfs · sysfs · debugfs的创建与读写操作
内核模块
用户空间通信
14
netlink通信机制
netlink socket原理 · 内核与用户进程双向通信实现
netlink
通信机制
15
内核模块中的文件操作
使用filp_open/vfs_re… · 注意路径与权限
内核模块
文件操作
16
内核模块调试基础
printk日志级别 · 动态调试(dynamic_debug… · /proc/sys/kernel/p…
内核模块调试基础
printk
17
使用GDB调试内核模块
加载模块符号 · 设置断点 · 查看变量与调用栈
GDB
使用
18
使用ftrace跟踪内核函数
ftrace原理 · function tracer使用 · 过滤与追踪模块相关函数
ftrace
使用
19
使用kprobes动态插桩
kprobes/jprobes/up… · 调试模块内部函数
kprobes
使用
20
使用eBPF/BCC进行模块监控
eBPF基础 · BCC工具跟踪模块行为 · 性能分析
eBPF/BCC
使用
21
内核模块内存泄漏检测
使用kmemleak · slabinfo · valgrind(用户态)辅助定位泄…
内核模块内存泄漏…
kmemleak
22
内核模块崩溃分析
Oops信息解读 · 使用kexec/kdump抓取vmc… · crash工具分析
内核模块崩溃分析
Oops
23
内核模块性能优化
使用perf进行CPU/内存分析 · 优化锁竞争与内存访问
内核模块性能优化
perf
24
内核模块安全与健壮性
避免缓冲区溢出 · 检查用户指针 · 使用copy_from/to_use…
内核模块安全
健壮性
25
内核模块兼容性
处理内核版本差异 · 使用宏与版本检查 · 模块签名与加载限制
内核模块兼容性
处理内核版本差异
26
常见问题与解决方案
模块加载失败 · 符号未定义 · 内存访问错误
常见问题
解决方案
27
实战项目一
编写一个简单的字符设备驱动 · 实现数据读写与ioctl控制 · 并编写用户态测试程序
实战项目一
编写一个简单的字…
28
实战项目二
编写一个内核模块监控进程创建与退出 · 通过netlink或procfs上报…
实战项目二
编写一个内核模块…
29
实战项目三
编写一个内核模块实现数据包过滤或网络… · 结合kprobes或netfilte…
实战项目三
编写一个内核模块…
30
综合提升与总结
模块化设计思想 · 调试方法论 · 内核社区资源
综合提升
模块化设计思想
所属VIP或分类
同VIP:1536-Zephyr-构建系统(West-&-CMake)工作流程详
同VIP:3D打印Klipper固件-开源智能硬件入门
同VIP:ADC采样与I2C协议SPI协议寄存器驱动开发实战