在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
有一个几乎察觉不到的设定为我解决了这个问题。 如果有一个特定的源文件没有命中断点,则可以将其列在
解决方案资源管理器 右键单击解决方案 属性 公共属性 调试源文件 "不要找这些源文件"
出于某种我不知道的原因,VS 2013决定在那里放置一个源文件,随后,我无法在该文件中点击断点。这可能是“源代码与原始版本不同”的罪魁祸首。
其他回答
当调试期间或调试会话之间的系统时间发生变化时,可能会发生这种情况,无论是通过编程方式、手动方式还是通过外部程序。
对我来说,没有一个项目能解决这个问题。我只是在函数中添加了一行新代码,类似于:
int a=0;
通过添加这个,我想我触发了visual studio在原始版本中添加这个功能
我在一个分层架构项目的几个项目中遇到了同样的问题,问题是在配置中,所选项目的构建复选框没有被选中。所以这个问题在一个项目中得到了解决。
对于另一层,即使在配置中启用了构建,它也会带来同样的麻烦。我做了所有其他的选择,比如重新开始清理项目,但没有一个有用。最后,我取消了该特定项目的build复选框,并进行了清理和重建。他们再次标记了复选框,并照做了 相同的。然后问题就解决了。
希望这能有所帮助。
我在VS2019中遇到了这个错误,我认为当Windows的时钟改变时就开始出现这个错误。
我已经试过提出的解决办法了,但不管用。
如果您有多个项目,请将要调试的项目作为启动项目。