【问题标题】:Unable to debug lInux on gdb无法在 gdb 上调试 lInux
【发布时间】:2015-09-30 11:57:11
【问题描述】:

我正在尝试使用 gdb 调试 Linux,我使用“使用调试信息编译内核”编译内核。 一旦内核被编译,我试图给 GDB 文件 vmlinux (运行上面的命令给我下面的错误)

 GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1


Reading symbols from file...(no debugging symbols found)...done.
"/home/Linux/vmlinux" is not a core dump: File format not recognized

即使我正在设置调试配置,它也会给我“找不到调试符号”

【问题讨论】:

  • 你用来调用gdb的命令行是什么,你读过man gdb吗?

标签: c gdb


【解决方案1】:

内核调试与调试用户进程完全不同,并不像启动 GDB 那样简单。为此,您将需要 JTAG 的支持。 QEMU 允许您虚拟化机器,因此可以使用虚拟 JTAG。

对于简单的东西,您可能会发现printk 容易得多。

【讨论】:

  • 另一种可能是使用KDB(或KGDB),可以通过串行控制台或连接的键盘使用
  • 谢谢,我正在尝试在 QEMU 上运行 linux 内核,我运行了 qemu-system-i386 -s -S -kernel bzImage 和 gdb file vmlinux 命令给出了上述错误
猜你喜欢
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 2015-06-13
  • 2019-10-25
  • 2022-01-11
  • 1970-01-01
相关资源
最近更新 更多