gdb调试linux内核

一、编译内核

Debugging kernel and modules via gdb — The Linux Kernel documentation

1.配置内核

Kernel hacking --->

        Compile-time checks and compiler options  --->

                [*] Compile the kernel with debug info 

                [*]   Provide GDB scripts for kernel debugging 

        [*] Kernel debugging 

配置完重新编译内核


​​​​​2.配置.gdbinit文件

向~/.gdbinit添加下面一行:
add-auto-load-safe-path /path/to/linux-build

/path/to/linux-build为文件vmlinux-gdb.py的路径

二、启动模拟器

qemu-system-arm -M orangepi-pc -nic user -kernel zImage -dtb sun8i-h3-orangepi-pc.dtb -nographic -s -S -append "nokaslr root=/dev/mmcblk0 rw console=ttyS0,115200" -sd ubuntu.img

三、启动gdb

$ cd linux-orangepi-orange-pi-5.4

$ arm-none-linux-gnueabihf-gdb vmlinux

(gdb) target remote :1234

(gdb) break start_kernel

(gdb) c

你可能感兴趣的:(linux)