GDB 从“start_kernel”断点继续后挂起?

问题描述 投票:0回答:1

我正在尝试熟悉Linux内核源代码。因此,我想我应该设置一个 Qemu 机器来启动内核(使用调试设置),以便我可以使用 GDB 与内核交互并探索内核的不同区域。这样我就有了一台运行内核的机器,同时可以参考源码。

我已经在 Ubuntu 机器上安装了 Qemu 并编译了 Linux 内核。我可以在我的 Ubuntu 机器上使用 GDB 成功远程连接到 Qemu 机器。

但现在我被难住了。我在“start_kernel”处设置了一个断点,Qemu 机器确实按预期中断了。然而,一旦我在 GDB 中按下“c”,我就会失去对 GDB 的控制,因为它只是挂起(我认为是在等待 Qemu 机器)。我的 Qemu 机器此时落入外壳。

所以,我正在寻找一些关于如何在 GDB 中继续设置断点、转储信息等的建议?

linux gdb qemu
1个回答
0
投票

在 GDB 提示符处,您可以使用

Ctrl+c
来中断(暂停)下级(您的内核),以便您可以检查状态并设置新断点。

© www.soinside.com 2019 - 2024. All rights reserved.