在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
在Windows 7、Visual Studio Express 2010下,如果已激活选项“为Windows XP SP3使用兼容性模式”,则可能会出现此错误。
我取消了这个选项,它再次完美地工作了。右键单击VS或可执行文件的快捷方式,选择属性,然后选择兼容性。
其他回答
我发现当断点在不能被打断的行上时发生错误。我没有显示工具提示,是为了直接显示后面没有错误的行。
帮助我的步骤(VS Community 2017, 15.9.11)。
请注意,执行以下步骤后将丢失断点。
右键单击类文件 选择排除 项目 右键单击该项目 选择“添加和现有文件” 导航到选择相关的类文件
我已经试过提出的解决办法了,但不管用。
如果您有多个项目,请将要调试的项目作为启动项目。
有时您只需要将解决方案配置从“发布”更改为“调试”。
问题是调试信息与程序集不同步。解决方法很简单:
转到你的bin文件夹 删除.pdb文件 重建
应该能成功!
(奇怪的是,不丢弃.pdb文件的重新构建并不总是有效。我可以看到修改的日期正在更新,但仍然在链的某个地方(VS2013调试器,IIS,程序集缓存)没有检测到此更改)