繁体   English   中英

Visual Studio调试器不会在调试断言失败时中断

[英]Visual Studio Debugger not breaking on Debug Assertion Failure

我对VS调试器有问题,如果发生调试断言失败,它将不会再破坏我的代码。 即使按Retry ,它也只会停止执行/调试。 例如,如果我的向量下标超出范围,就会发生这种情况:

std::vector<int> a(4);
a[4]=0;

我开始了一个新项目(只需在窗口上单击一个按钮,执行上面的操作),然后它就正确地坏了,所以我想这是一个设置问题。 到目前为止,我没有找到任何有用的设置。
我最近在项目文件夹中移动了一些文件,因此可能触发了此问题。

有什么建议么? 很抱歉,如果这个问题在本论坛的其他地方得到了解答,我没有找到。

谢谢!

operator[]函数不执行任何边界检查,因此您具有未定义的行为,可能会或可能不会导致崩溃。

但是at当索引超出范围时, at函数将引发异常。

试试这些

1)确保在配置设置中检查了数组边界。 在某些版本的Visual Studio中,即使在发行版本中,默认情况下也会将其打开! 纯粹的开发人员很可能已关闭了所有配置,并且您继承了这些设置。

2)检查您的项目配置设置。 您正在运行调试版本吗?

3)重建一切。 即全部重建。

4)如果仍未解决,请自行删除所有中间文件并全部重建。

5)用__asm int 3;行硬编码一个断点__asm int 3;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM