【问题标题】:How to read GDTR and LDTR in kgdb?如何在 kgdb 中读取 GDTR 和 LDTR?
【发布时间】:2015-05-29 12:52:28
【问题描述】:

This question 处理在用户模式 ​​GDB 中无法读取 GDTR 和 LDTR 的原因。但是我不明白为什么在使用串行电缆在另一台机器上使用 GDB 调试 Linux 内核(编译了 KGDB)时它不应该是可能的。

被调试的内核应该能够告诉调试器 GDTR 和 LDTR 的值,但似乎没有任何 GDB 命令可以做到这一点。这有充分的理由吗?它只是没有人实施的东西吗?

【问题讨论】:

    标签: debugging linux-kernel x86 kgdb


    【解决方案1】:

    正如你所说,没有人实施它。 gdb 尤其不考虑那些有效寄存器,因此内核调试接口甚至不会尝试发送它们。

    除非您愿意更改gdb,否则您必须使用变通方法来获取该信息。我能想到的一种可能性是ThreadExtraInfo 命令,它应该能够发送打印在gdb 中的任意字符串消息。所以你可以在kernel/debug/gdbstub.c 中添加这些信息。

    【讨论】:

      猜你喜欢
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 2012-10-10
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多