如何创建数据断点?

时间:2015-08-09 18:24:21

标签: c windows debugging

我只是想知道如何创建数据断点(又名观察点)?

我知道在x86上使用一些特殊的INT3指令会产生常见的断点。

我想你可以通过定期扫描内存来创建软件观察点。

但是从使用硬件断点编写自己的调试器的角度来看,我在Windows Reference中找不到任何关于此的内容(仅限WinDbg上的两个主题1 2)。我还没看过Linux。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:2)

在x86处理器上,使用处理器上的debug registers设置数据断点。调试寄存器DR0-DR3存储要监视的地址。这就是Visual Studio限制为四个数据断点的原因。