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

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


当前回答

帮助我的步骤(VS Community 2017, 15.9.11)。

请注意,执行以下步骤后将丢失断点。

右键单击类文件 选择排除 项目 右键单击该项目 选择“添加和现有文件” 导航到选择相关的类文件

其他回答

确保在csproj中将<Optimize>false</Optimize>设置为false

如果您在调试构建配置中未选中DLL项目,那么您的新代码将永远无法构建!

转到构建—>配置管理器…(在VS2010中),并检查您正在尝试调试的代码的项目是否为当前构建配置进行了检查。

当调试期间或调试会话之间的系统时间发生变化时,可能会发生这种情况,无论是通过编程方式、手动方式还是通过外部程序。

尝试在运行调试模式时禁用和重新设置断点,而不是在启动调试模式之前禁用和重新设置断点。

对我有用的是将解决方案平台从x86改为Any CPU。在更改为Any后,我设置了一个停止地址,运行网站,打开页面,点击按钮,它就停止了。我关闭了网站,改回x86并成功地执行了相同的顺序。