【问题标题】:Linux kernel hardware break pointsLinux内核硬件断点
【发布时间】:2013-04-28 01:02:09
【问题描述】:

我想为 x86 架构构建一个简单的 linux 内核调试器。我首先希望它设置断点。我想知道是否有用于配置调试器寄存器的内核 api,如果有的话,有什么好的文档吗?如果没有用于调试器寄存器的内核 api,是否有任何关于如何手动正确配置寄存器的文档(使用汇编“MOV”指令)?

【问题讨论】:

  • 为什么不能用kgdb???

标签: linux debugging kernel breakpoints


【解决方案1】:

这取决于您要处理的内核版本。

至少从 2.6.33 开始就有一个用于在内核中设置硬件断点的 API,尽管它可能在 3.0-3.2 版本左右有所改变。

查看kernel/events/hw_breakpoint.c 中的register_wide_hw_breakpoint() 函数及其附近的函数。

文档似乎很稀缺,但有 an example 说明如何在内核中使用该 API,它可能会有所帮助。

可以在RaceHound project 中找到使用该 API 的更复杂示例。

【讨论】:

猜你喜欢
  • 2014-11-28
  • 2016-02-09
  • 2012-05-15
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多