在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。

这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?


当前回答

至:

Tools > Options > Debugging > General > unchecked "要求源 文件与原始版本完全匹配”

其他回答

VS 2017的一些版本(结合。editorconfig)也有一个问题:从15.3开始,当文件的字符集与.editorconfig (utf8或utf8-bom)中的字符集不一致时,断点就不起作用了。

我只是重新装填,清理和重建我的作品。

在我的例子中,其他建议都不起作用,但是重新克隆我的存储库使这个问题消失了。

在我将现有文件添加到项目后,它碰巧在Visual Studio 2017上。这招对我很管用:

关闭溶液, 转到SolutionFolder\。vs\SolutionName\v15\sqlite3,删除storage.ide 再次打开解决方案

有意地中断构建,这意味着在项目中添加一些调试时不同步的任意文本。尝试调试并接收异常。现在修复异常并调试项目。