GDB监视点如何工作?可以实现类似的功能来利用已定义位置的字节级访问吗?
最佳答案
我相信gdb使用MMU来将包含受监视地址范围的内存页标记为 protected -然后,当发生写入 protected 页面的异常时,gdb处理该异常,请检查写入地址是否与特定地址相对应监视点,然后继续恢复或相应地下降到gdb命令提示符。
您可以使用mprotect为自己的调试代码或测试工具实现类似的功能,但是如果您想执行比错误的写入失败就更复杂的操作,则需要实现异常处理程序。
关于debugging - 硬件观察点-它们如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7805782/