1. 开启 Linux 内核调试编译选项
make menuconfig
2. 设置 qemu 启动脚本参数
增加 -S -s 命令:
sudo qemu-system-x86_64 \
-S -s \
-m 1024M \
-kernel ../linux/arch/x86/boot/bzImage \
-nographic \
-append "root=/dev/ram0 console=ttyS0 init=/linuxrc" \
-initrd ../make_rootfs/rootfs.img.gz
3. 下载 gdb 调试工具
sudo apt-get install gdb gdb-multiarch
4. 进行调试
先启动 qemu 脚本
sudo sh start_x86_kernel.sh
再另一个窗口中,输入
gdb-multiarch
然后再输入下面的命令:
add-auto-load-safe-path ~/linux/
target remote localhost:1234
file vmlinux
下面就可以打断点进行调试了,谢谢浏览!