首页
›
Linux内核与驱动
›
140-内核驱动开发
›
《内核驱动调试环境搭建:QEMU与kgdb联调》
VIP10
本课程属于:140-内核驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
内核驱动调试环境搭建:QEMU与kgdb联调
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程概述
内核调试的重要性 · QEMU与kgdb简介 · 联调方案整体架构图
课程概述
内核调试的重要性
02
环境准备
宿主机操作系统选择(Ubuntu 2… · 必要软件包安装(build-esse… · git
环境准备
Ubuntu
03
QEMU安装与配置
从源码编译QEMU · 启用调试支持 · 验证QEMU版本
QEMU
安装
04
Linux内核源码获取
下载主线内核源码 · 解压 · 查看目录结构
Linux
内核源码获取
05
内核编译配置
使用defconfig生成默认配置 · 启用KGDB相关选项(CONFIG_… · CONFIG_KGDB_SERIAL…
内核编译配置
defconfig
06
内核编译
交叉编译工具链选择 · 编译内核与模块 · 生成vmlinux与bzImage
内核编译
交叉编译工具链选…
07
根文件系统制作
使用BusyBox构建最小根文件系统 · 创建init脚本 · 打包为cpio镜像
根文件系统制作
BusyBox
08
QEMU启动内核
编写QEMU启动脚本 · 设置串口重定向 · 验证内核启动
QEMU
启动内核
09
kgdb内核配置详解
KGDB选项详解 · KGDB与KDB的区别 · 启用KGDB魔法SysRq键
kgdb
内核配置详解
10
串口调试基础
宿主机与QEMU串口映射 · 使用socat创建虚拟串口对
串口调试基础
QEMU
11
GDB连接目标
启动GDB · 设置串口连接 · target remote命令详解
GDB
连接目标
12
断点设置与单步调试
break · continue · step
断点设置
单步调试
13
内核模块调试
编写简单内核模块 · 编译模块 · 加载模块
内核模块调试
编写简单内核模块
14
查看内核数据结构
print · display · ptype命令
查看内核数据结构
print
15
内核日志与调试信息
dmesg · printk · 动态调试(dynamic debug…
内核日志
调试信息
16
QEMU网络配置
创建tap设备 · 配置QEMU网络后端 · 宿主机与QEMU网络互通
QEMU
网络配置
17
kgdb通过网络调试
配置kgdboe · 使用网络连接代替串口
kgdb
通过网络调试
18
多核调试
QEMU多核启动 · kgdb多核调试策略 · CPU切换命令
多核调试
QEMU
19
内核崩溃分析
触发内核panic · 使用kgdb捕获崩溃现场 · 分析调用栈
内核崩溃分析
panic
20
硬件断点与观察点
watch · awatch · rwatch命令
硬件断点
观察点
21
内核线程调试
查看线程列表 · 切换线程上下文 · 调试内核线程
内核线程调试
查看线程列表
22
中断上下文调试
中断处理函数调试 · 中断栈查看 · IRQ上下文注意事项
断上下文调试
断处理函数调试
23
内存调试
kmalloc/kfree跟踪 · slab分配器调试 · 内存泄漏检测
内存调试
kmalloc/kfre…
24
锁调试
spinlock · mutex · rwlock调试
锁调试
spinlock
25
文件系统调试
VFS层调试 · inode/dentry结构查看 · 文件操作跟踪
文件系统调试
VFS
26
设备驱动调试
字符设备驱动调试 · ioctl处理 · 设备模型(kobject/kset)…
设备驱动调试
字符设备驱动调试
27
性能调试
使用kgdb进行性能分析 · 函数执行时间测量 · 热点函数定位
性能调试
kgdb
28
自动化调试脚本
编写GDB Python脚本 · 自动化断点设置 · 数据收集
自动化调试脚本
GDB
29
常见问题与排错
QEMU启动失败 · GDB连接超时 · 断点不命中
常见问题
排错
30
课程总结与进阶
调试技巧总结 · 推荐阅读资料 · 内核调试社区资源
课程总结
进阶
所属VIP或分类
同VIP:Linux内核驱动ioctl命令设计与控制通路
同VIP:Linux内核驱动开发:从字符设备到中断处理实战
同VIP:Linux内核驱动移植实战:从ARM到RISC-V