虚拟机:Ubuntu 20.04.2 LTS
调试内核:linux-5.11.8
qemu:QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.14)
gdb-multiarch: GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
交叉编译器:arm-linux-gnueabi-
1.配置内核
$ make vexpress_defconfig ARCH=arm
$ make menuconfig ARCH=arm
需要选上的配置项:
CONFIG_KGDB=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_FRAME_POINTER=y
CONFIG_KGDB_SERIAL_CONSOLE=y
其中CONFIG_FRAME_POINTER选项并不是必须的
2.编译内核
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
开始调式
qemu-system-arm -M virt -cpu cortex-a15 -m 256 -kernel arch/arm/boot/zImage -nographic -append "root=/dev/sda kgdboc=ttyAMA0,115200 kgdbwait" -s -S
命令输入完后qemu模拟器等待gdb连接;接着再打开一个新的终端,使用gdb调试
$ gdb-multiarch vmlinux
(gdb) target remote:1234
(gdb) c
Continuing.
注:gdb命令“c”是让目标机继续执行
参考资料:
[1]
[2]
本文发布于:2024-01-28 19:05:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064399379596.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |