debugging - 硬件观察点-它们如何工作?

标签 debugging gdb hardware watchpoint

GDB监视点如何工作?可以实现类似的功能来利用已定义位置的字节级访问吗?

最佳答案

我相信gdb使用MMU来将包含受监视地址范围的内存页标记为 protected -然后,当发生写入 protected 页面的异常时,gdb处理该异常,请检查写入地址是否与特定地址相对应监视点,然后继续恢复或相应地下降到gdb命令提示符。

您可以使用mprotect为自己的调试代码或测试工具实现类似的功能,但是如果您想执行比错误的写入失败就更复杂的操作,则需要实现异常处理程序。

关于debugging - 硬件观察点-它们如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7805782/

相关文章:

c++ - 如何检查发生运行时错误之前执行的.cpp文件的最后一行?

没有错误或堆栈跟踪的 iOS 崩溃

c++ - 调用 bazel 命令进行调试时 GDB 立即退出

testing - 任何 Palm Pre 都可以用于开发吗?

python - 启动脚本检查是否连接了外部显示器

c++ - shared_ptrs 的 unordered_map 破坏了 C++ 程序

macos - 优胜美地 10.10.13 上奇怪的 gdb 7.9 提升

c++ - 使用 Eclipse/CDT 调试 C++ 代码时更好地探索变量

c++ - 它是一个 gdb 错误吗?

c - MSP430 LED 根本不闪烁