如何使用调试器中断实现定期断点?

时间:2018-01-15 06:23:22

标签: c++ debugging interrupt-handling

我开发了一个调试器(Win32 c ++),它附加到一个进程并通过用0xCC替换某个命令的第一个字节然后处理调试器事件来设置断点。要清除BP,我会减少EIP并恢复原始的0xCC字节。

如何实现循环BP,即反复停止某个命令的程序执行,直到某些条件匹配为止?

我尝试在处理第一次命中时设置下一个命令的BP,清除当前的BP然后等到下面的BP命中,并将BP重置在它上面,但它似乎非常笨拙。有没有更好的方法呢?

每次设置或清除BP时我都需要刷新CPU缓存(我现在这样做)?

0 个答案:

没有答案