我正在使用(C++) Visual Studio 2010。
我需要跟踪应用程序的控制流程。为此,在源代码中设置了一个断点。
在调试模式下运行应用程序时,断点会触发。但在发布模式下不会触发。
如何使断点在发布模式下也能被触发?
我正在使用(C++) Visual Studio 2010。
我需要跟踪应用程序的控制流程。为此,在源代码中设置了一个断点。
在调试模式下运行应用程序时,断点会触发。但在发布模式下不会触发。
如何使断点在发布模式下也能被触发?
我正在使用VS2015。 在尝试多种失败的解决方案后,我找到了一个适用于我的方法。 只需取消选中“菜单->调试->选项->调试->常规”下的“启用仅限我的代码”即可。 参见附图: enable debug in release mode-VS2015
希望这个方法能够解决您的问题 :)
您可以使用__debugbreak()内联函数。如果您想要在特定条件下中断程序,这也非常方便。例如:
if (var > LIMIT)
__debugbreak();
发布模式下的断点非常方便。让它起作用的最简单方法是在您的代码中调用一个名为release_mode_breakpoint()
的函数。然后像这样定义该函数:
#pragma optimize("", off)
void release_mode_breakpoint()
{
int put_breakpoint_here = 1;
}
#pragma optimize("", on)