沉淀、分享、成长,让自己和他人都能有所收获!😄
📢在linux
内核编程中,经常会遇到由于内存被篡改,例如 buffer overflow
,野指针,write after free
等。查找分析此类问题非常的麻烦。
一、什么是硬件断点
硬件断点,是Linux
内核中是一种被ptrace
和内核内调试器使用调试寄存器
作用
- 确定内存被踩的原因。
- 更好地了解数据访问模式
这些寄存器可以在指定地址位置上执行事件(内存读/写/执行访问)时触发异常,以帮助定位踩内存问题。
二、硬件断点的使用接口
例子:samples/hw_breakpoint/data_breakpoint.c
struct perf_event * __percp