Linux kernel 使用qemu和gdb调试内核

Linux kernel 使用qemu和gdb调试内核,linux-kernel,Linux Kernel,我试图使用qemu和gdb调试内核。为此,我使用了qemu和主机之间桥接连接的概念。在脚本中,我使用了tcp:17777:127.0.0.1:22来连接用于gdb的qemu机器 但是当我做了ssh 17777root@localhost(root是qemu的用户),它不响应我 问题1:当我知道自己走在正确的道路上时,意味着我可以使用qemu调试内核 当我们这样做时: gdb-vmlinux 目标遥控器:1234 问题2:当我尝试在不启动要调试的内核的情况下执行gdb-vmlinux和target

我试图使用qemu和gdb调试内核。为此,我使用了qemu和主机之间桥接连接的概念。在脚本中,我使用了
tcp:17777:127.0.0.1:22
来连接用于gdb的qemu机器

但是当我做了
ssh 17777root@localhost
(root是qemu的用户),它不响应我

问题1:当我知道自己走在正确的道路上时,意味着我可以使用qemu调试内核

当我们这样做时:

  • gdb-vmlinux

  • 目标遥控器:1234

  • 问题2:当我尝试在不启动要调试的内核的情况下执行
    gdb-vmlinux
    target-remote:1234
    时,仍然会得到以下输出(对于要启动的内核,我使用qemu启动时得到)


    帮助我详细理解这个概念,并分享使用qemu和gdb调试内核的链接问题2:当我尝试在不启动要调试的内核的情况下执行gdb vmlinux和target remote:1234时,但我仍然得到了以下输出,这是我在使用qemu引导我要调试的内核时得到的。完整信息请参考类似问题查看问题2:当我尝试在不引导我要调试的内核的情况下执行gdb vmlinux和target remote:1234时,不过,我还是得到了以下输出,这是我在使用qemu引导我要调试的内核时得到的
    (gdb) target remote :1234
    Remote debugging using :1234
    default_idle () at arch/x86/kernel/process.c:299
    299         current_thread_info()->status |= TS_POLLING;