我使用的是ubuntu 12.04,内核版本是3.12.6,我想学习如何使用kgdb来调试内核。我没有得到太多信息。关于 kgdboe (以太网上的kgdb)。我在 menuconfig 中编译了内核并启用了kgdb,我在开发机器上使用 make bzImage 创建了内核映像并在目标机器上复制了相同的内容,现在问题是如何连接这两个目标和开发机器。我没有为 kgbdoe 设置参数。 Plz帮助,如果有人知道如何使用kgdb over ethernet
答案 0 :(得分:4)
你读过这个: https://www.kernel.org/pub/linux/kernel/people/jwessel/kgdb/ch03s04.html ?
您必须使用特殊选项运行调试内核 - 例如:
kgdbwait kgdbcon kgdboe=@192.168.248.76/,@192.168.242.24/00:11:22:33:44:55
在调试方面,您运行以下命令:
gdb
file vmlinux
target remote udp:192.168.248.76:6443
它对我有用。
答案 1 :(得分:2)
您可以从here获取kgdboe源代码,构建它并将其加载到您的内核中:
make -C /lib/modules/$(uname -r)/build M=$(pwd)
sudo insmod kgdboe.ko
然后输入'dmesg'以查看加载日志并获取有关从gdb连接的说明。