- 作者: 陈孝松
- 主页: chenxiaosong.com
- 哔哩哔哩教学视频: 陈孝松
- 课程: chenxiaosong.com/courses
- 博客: chenxiaosong.com/blog
- 贡献: chenxiaosong.com/contributions
- 邮箱: chenxiaosong@chenxiaosong.com
- QQ交流群: 544216206, 点击查看群介绍
除前面我们介绍过的GDB调试方法只适用于虚拟机中,我们平时看代码学习时可以用一下,如果是在工作中客户遇到的问题,GDB调试方法就用不上了,这时就需要用到其他调试方法了。
编译相关软件包:
sudo dnf groupinstall "Development Tools" -y # 这里安装的 kernel-devel 对应的内核版本可能不一致
安装kernel-debuginfo
软件包:
sudo dnf --enablerepo=fedora-debuginfo install kernel-debuginfo
安装kernel-devel
软件包:
sudo dnf install kernel-devel-`uname -r` -y # kernel-headers-`uname -r` 可能会找不到
如果要编译外部模块,需要复制vmlinux
:
cp /usr/lib/debug/lib/modules/`uname -r`/vmlinux /usr/lib/modules/`uname -r`/build/
下载内核源码:
# 如果下载太慢,可以先在其他地方下载好
wget https://kojipkgs.fedoraproject.org/packages/kernel/6.8.5/301.fc40/src/kernel-6.8.5-301.fc40.src.rpm
mkdir sources
cd sources/
rpm2cpio ../kernel-6.8.5-301.fc40.src.rpm | cpio -idmv
tar xvf linux-6.8.5.tar.xz