- 作者: 陈孝松
- 主页: chenxiaosong.com
- 哔哩哔哩教学视频: 陈孝松
- 课程: chenxiaosong.com/courses
- 博客: chenxiaosong.com/blog
- 贡献: chenxiaosong.com/contributions
- 邮箱: chenxiaosong@chenxiaosong.com
- QQ交流群: 544216206, 点击查看群介绍
除前面我们介绍过的GDB调试方法只适用于虚拟机中,我们平时看代码学习时可以用一下,如果是在工作中客户遇到的问题,GDB调试方法就用不上了,这时就需要用到其他调试方法了。
编译相关软件包:
sudo apt install build-essential -y
安装kernel-debuginfo
软件包(必须要是ubuntu server才能找到对应内核版本的软件包),参考Debug symbol packages,如果安装时下载很慢,也可以在仓库先下载好,放到/var/cache/apt/archives/partial/
目录再安装:
sudo apt install ubuntu-dbgsym-keyring -y
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
sudo apt-get update -y
sudo apt install linux-image-`uname -r`-dbgsym -y
或者先下载ddeb
文件,然后:
sudo dpkg -i xxx.ddeb
如果要编译外部模块,需要复制vmlinux
:
cp /usr/lib/debug/boot/vmlinux-`uname -r` /usr/lib/modules/`uname -r`/build/vmlinux
安装内核源码:
apt search linux-source # 查看版本信息
apt install linux-source -y
cd /usr/src/linux-source-5.15.0/
tar xvf linux-source-5.15.0.tar.bz2