6

我要做的是监视某些特定地址的内存值变化,例如将回调函数绑定到“onChange”事件。

现在我能想到的一个想法是使用内存写入断点。那么如何在 Visual C++ 中以编程方式操作断点呢?

4

4 回答 4

6

如果需要中断调试器,使用DebugBreak函数,必要时下一个#ifdef _DEBUG #endif

于 2013-04-13T10:41:39.873 回答
3

Microsoft 确实提供了可用于此目的的断点接口,请查看http://msdn.microsoft.com/en-us/library/vstudio/envdte.breakpoint.aspxhttp://msdn.microsoft。 com/en-us/library/envdte80.breakpoint2(v=vs.80).aspx

于 2013-04-13T10:09:46.013 回答
1

您也可以在您的代码中放置:

__asm { int 3 }

如果您在 VS 调试器下运行,则会调用断点处理程序。

更新:实际上它与使用 MSVC 内在的 __debugbreak 相同(http://msdn.microsoft.com/en-us/library/f408b4et.aspx

于 2014-11-20T23:48:49.667 回答
1

在 hwbrk 项目上取得了巨大的成功。

于 2017-01-26T15:23:28.617 回答