我正在尝试使用 kgdb 调试 Linux 内核。我正在使用 qemu 作为目标机器。Ubuntu 12.04 是我的主机操作系统。我试过这个命令
cyborg@skynet:~$ qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootfs.img.gz -append "root=/dev/ram rdinit=/bin/sh kgdboc=ttyAMA0,115200 kgdbwait"
它将启动并等待显示
kgdb:等待来自远程 gdb 的连接
当我尝试使用命令在 linux 主机上使用 gdb 进行调试时
cyborg@skynet: arm-none-linux-gnueabi-gdb vmlinux
(gdb): 设置远程波特率 115200
(gdb) target remote /dev/ttyS0 使用 /dev/ttyS0 进行远程调试忽略数据包错误,继续...
警告:“qSupported”响应中无法识别的项目“超时”
忽略数据包错误,继续...
忽略数据包错误,继续...
忽略数据包错误,继续...
忽略数据包错误,继续...
偏移量查询响应错误,超时
我并没有真正得到我所缺少的!
PS 我在启用 KGDB 选项的情况下编译了 linux 内核 2.6.39.4。我按照这些说明在 qemu 上运行内核。