一、编译内核
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