【发布时间】:2011-12-09 23:38:16
【问题描述】:
GDB 观察点如何工作?是否可以实现类似的功能来利用定义位置的字节级访问?
【问题讨论】:
标签: debugging gdb hardware watchpoint
GDB 观察点如何工作?是否可以实现类似的功能来利用定义位置的字节级访问?
【问题讨论】:
标签: debugging gdb hardware watchpoint
我相信 gdb 使用 MMU 以便将包含监视地址范围的内存页面标记为受保护 - 然后当对受保护页面的写入发生异常时,gdb 会处理该异常,检查写入的地址是否对应到特定的观察点,然后相应地恢复或下降到 gdb 命令提示符。
您可以使用mprotect 为您自己的调试代码或测试工具实现类似的东西,但如果您想要做更复杂的事情而不是仅仅因为错误的写入而失败,您需要实现一个异常处理程序。
【讨论】: