Ane*_*nan 7 visual-studio-2010
我正在使用(c ++)visual studio 2010.
我必须跟踪我的应用程序的控制流程.所以我在源代码中设置了一个断点
在调试模式下运行应用程序时,断点会命中.但在realease模式下,它没有受到打击.
那么请建议一个解决方案来解决发布模式中的断点???
小智 17
我正在使用VS2015.经过大量失败的解决方案,我找到了一个适合我的方案.只需在菜单 - >调试 - >选项 - >调试 - >常规下取消选中"启用我的代码".请参见附图: 在发布模式下启用调试-VS2015
我真的希望这能解决你的问题:)
小智 6
发布模式断点可以很方便地开始工作。让它工作的最简单方法是调用release_mode_breakpoint()代码中调用的函数。然后像这样定义该函数:
#pragma optimize("", off)
void release_mode_breakpoint()
{
int put_breakpoint_here = 1;
}
#pragma optimize("", on)
Run Code Online (Sandbox Code Playgroud)
然后,您可以在该 int 声明行上放置一个断点,即使在发布模式下,它也会被命中。然后,只需将调试器中的堆栈返回到您实际想要断点的函数即可。
但实际上不要将该代码留在最终的生产版本中,因为未优化的行可能会阻止编译器正确优化调用代码。
您可以使用 __debugbreak() 内在的。如果您想在特定条件下中断,这也非常方便。例如:
if (var > LIMIT)
__debugbreak();
Run Code Online (Sandbox Code Playgroud)