【问题标题】:How to set breakpoints programmatically in Visual C++?如何在 Visual C++ 中以编程方式设置断点?
【发布时间】:2013-04-05 20:57:46
【问题描述】:

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

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

【问题讨论】:

标签: c++ windows visual-c++ breakpoints


【解决方案1】:

如果您需要进入调试器,请使用DebugBreak 函数,如有必要,请在#ifdef _DEBUG #endif 块下使用

【讨论】:

  • 另外_DEBUG 也无关紧要。正确的做法是使用IsDebuggerPresent
【解决方案2】:
【解决方案3】:

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

__asm { int 3 }

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

更新: 其实和使用 MSVC 自带的 __debugbreak (http://msdn.microsoft.com/en-us/library/f408b4et.aspx) 是一样的

【讨论】:

    【解决方案4】:

    我在the hwbrk project 上取得了巨大的成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      相关资源
      最近更新 更多