qemu和kgdb调试linux内核

阅读: 评论:0

qemu和kgdb调试linux内核

qemu和kgdb调试linux内核

qemu和kgdb调试linux内核

  • 环境
    • 编译内核
    • 调式内核

环境

虚拟机: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小时内删除。

标签:内核   qemu   kgdb   linux
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23