gdb提供了一个python的脚本接口,内核提供了一些有用的脚本用来简化内核的调试步骤。
设置
- 为QEMU/KVM创建一个虚拟机。
- 编译内核时启用CONFIG_GDB_SCRIPTS,但不要启用CONFIG_DEBUG_INFO_REQUCED。如果你的机器架构支持CONFIG_FRAME_POINTER,也开启这个选项。
- 把内核安装在guest,关闭KASLR。
- 在QEMU/KVM上开启gdb桩。
- cd /path/to/linux-build
- 启用gdb:gdb vmlinux
- 绑定到启动的guest
(gdb) target remote :1234