我想为x86架构构建一个简单的Linux内核调试器。我首先想要它设置断点。我想知道是否有配置调试器寄存器的内核API,如果有的话,还有什么好的文档?如果调试器没有内核api,那么是否有任何关于如何手动正确配置寄存器的文档(使用程序集“MOV”指令)?Linux内核硬件断点
2
A
回答
3
这取决于您想要处理的内核版本。
有一个API用于在内核中设置硬件断点,至少从2.6.33开始,尽管它可能在3.0-3.2版本中有所变化。
看看register_wide_hw_breakpoint()函数kernel/events/hw_breakpoint.c
和它附近的人。
该文档似乎很少,但有关于如何在内核中使用该API的,它可能会有所帮助。
使用该API的更复杂的示例可以在RaceHound project中找到。
+0
感谢你,@Eugene;交叉引用:我发布了一个例子http://stackoverflow.com/questions/19725900/watch-a-variable-memory-address-change-in-linux-kernel-and-print-stack-trace/19755213# 19755213 ...干杯! – sdaau 2013-11-03 16:39:30
相关问题
- 1. Linux内核中的硬件中断堆栈上半部分?
- 2. linux内核中断劫持
- 3. 设置硬件断点
- 4. 在Linux内核中跟踪中断
- 5. 映射Linux内核中的DMA中断
- 6. PCIe中断处理linux内核
- 7. Linux内核头文件
- 8. linux内核+条件语句
- 9. linux内核模块的缺点?
- 10. Android:内核信息和硬件要求?
- 11. 在XP 64位硬件断点
- 12. 在linux内核级别,如何读写硬盘扇区
- 13. 用于自我优化硬盘的Linux内核模块:建议?
- 14. Linux网络内核
- 15. asm__volatile()在Linux内核
- 16. 配置Linux内核
- 17. setscheduler()在Linux内核
- 18. glib和linux内核
- 19. Linux内核调试
- 20. linux内核的config.h
- 21. Linux内核调度
- 22. 构建Linux内核
- 23. Linux内核调度
- 24. Linux内核编程
- 25. 在Linux内核中如何测试硬件特定的错误和功能?
- 26. Linux内核线程在CPU硬件线程上映射1:1或m:n吗?
- 27. 使用gcc与内核头文件编译Linux内核模块
- 28. git - 跟踪Linux内核.config文件
- 29. linux内核的调试符号文件
- 30. Linux内核头文件的组织
为什么你不能使用'kgdb'? – 2013-05-03 16:36:26