我想为x86架构构建一个简单的linux内核调试器。我首先希望它设置断点。我想知道是否有配置调试器寄存器的内核api,如果有,有什么好的文档吗?如果没有用于调试器寄存器的内核api,是否有关于如何手动正确配置寄存器的文档(使用程序集"MOV“指令)?
发布于 2013-05-05 02:22:16
这取决于您想要处理的内核版本。
至少从2.6.33开始,内核中就有一个用于设置硬件断点的API,尽管在3.0-3.2版本中可能有一些变化。
看看kernel/events/hw_breakpoint.c中的register_wide_hw_breakpoint()函数及其附近的函数。
文档似乎相当匮乏,但是有关于如何在内核中使用该an example的文档,它可能会有所帮助。
在RaceHound project中可以找到使用该API的更复杂的示例。
https://stackoverflow.com/questions/16362063
复制相似问题