Linux内核硬件断点

时间:2013-05-03 15:05:27

标签: linux debugging kernel breakpoints

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

1 个答案:

答案 0 :(得分:4)

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

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

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

文档似乎非常缺乏,但是如果在内核中使用该API有an example,它可能会有所帮助。

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