在我回家度周末之前的上周五,我的代码中的断点工作正常。今天,它们工作不正常。
从上周五开始,我
- 重新启动我的电脑
- 从 TFS 代码库下载新的源代码
- 清理并构建了 Release模式的整个解决方案
- 为 Debug模式清理并构建了整个解决方案
- 从两个源模块中添加/移动了几行
- 清理并重建了我正在处理的项目。
- 在没有参数的情况下调试了解决方案——断点工作正常
- 使用参数调试解决方案以仅运行到我的代码部分——断点不起作用,但从程序的输出来看,很明显该部分代码已运行。
- 我不记得我可能还做了什么导致这种行为。
我以前见过这个,但我不记得我是如何纠正这种情况的。
这是一个单元测试项目,因此它永远不会以 Release模式构建。我已经检查了文件上的日期/时间戳,以确保我刚刚构建的可执行文件是我将要运行的文件。
如果我在可执行文件的入口点设置断点,调试器会停在那里,但不会停在我设置的任何其他断点处。
这完全是 native 代码,所以请不要为不适用的 .NET 选项而烦恼,因为我正在用 C++ 编写代码,所以我无论如何也无法访问。
什么会导致IDE突然这样关闭调试?
提前致谢
理查德约翰逊
最佳答案
有一件事我几乎不想提——你确定你的解决方案已经完全构建了吗?否则,您的断点将与二进制文件不同步,VS 将禁用它们。您会看到断点图标上有黄色覆盖层。假设构建良好,如果 NCB (Intellisense db) 文件已损坏,您可能必须删除它。进行干净的重建不会这样做。如果这没有帮助,请告诉我们您的确切症状是什么 - 断点是否在 IDE 中“亮起”,但只是没有触发?还是 IDE 拒绝完全打开断点?
关于c++ - VC++ 2010 忽略断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16286036/