我在源代码中设置了断点,但它会让我警告源代码与原始代码不同。它不会命中breakpoint.Hit位置以允许更改源代码。任何人都可以解释我是否是问题?在Visual Studio 2010中调试源代码时给出的警告
回答
源代码文件的校验和与PDB文件中的校验和不匹配。
解决方案重建解决方案。
解决方法:在断点检查的位置属性Allow source code to be different
执行构建 - >清理解决方案,然后构建 - >构建解决方案。然后再次尝试调试,确保活动配置是调试。
你的源代码是不一样的编译时间。您可以停止,清理并重建您的项目。
当编译&运行发布版本时,可能会发生这种情况。在发布版本的编译器,使可能更改或删除部分代码,借此例如优化:
static void Main()
{
int x = 10 + 5; // <---- BREAKPOINT HERE
Console.WriteLine("Foo");
}
如果你编译&运行,在调试版本的代码,该断点被触发如常。在发布版本中,编译器会看到'x'从不使用,并且会“优化”整个行,这意味着断点永远不会被击中!
+1很酷,清晰的示例以获得跨越 –
我有一个解决方案中的类库和另一个解决方案中的Web项目时出现此问题。在逐步浏览web解决方案中的代码时,它进入了我的类库。这导致在我的web解决方案中打开类库文件。
我在我的类库中更改了一些代码时发生了问题。正常情况下,我按照正确的顺序构建了两个项目。但是,我会收到消息说源代码是不同的。这是因为我的网络解决方案中的类文件仍旧打开,因为以下选项已关闭。
选项>环境>检测时,文件被环境
关闭在我的web项目中的类文件之外的改变解决我的问题。我现在正在改变这个选择。
希望这可以帮助别人。
以上建议在运行单元测试时不适用于我 - 我正在执行整个解决方案的清理和重建,但DLL和PDB文件没有在〜\ UnitTests \ bin \ Debug目录中被删除,所以我必须手动删除这些文件,然后右键单击UnitTests目录并选择“Build”。
请注意,在我的情况下,我正在使用Visual Studio 2013与更新3。
UPDATE:
结束了创建一个批处理文件来清理并生成我的解决方案,以便Visual Studio不正确留有一定的项目,而不必重建他们:
msbuild.exe "MyClassLibrary\MyClassLibrary.csproj" /t:Rebuild /p:Configuration=Debug
msbuild.exe "UnitTests\UnitTests.csproj" /t:Rebuild /p:Configuration=Debug
- 1. 在Visual Studio 2010中调试IronPython - 源代码行不同步
- 2. std :: string在Visual Studio 2010中给出了编译器警告
- 3. 调试java代码时出现警告
- 4. 开始调试时,Visual Studio 2010不会警告构建错误
- 5. 试图剿资源警告在Visual Studio
- 6. 在Visual Studio 2010中进行调试时的代码覆盖率
- 7. 从Visual Studio 2010调试VB6代码
- 8. 从Visual Studio 2010调试.net 1.1代码
- 9. 调试在Visual Studio 2010中正在测试的代码
- 10. Visual Studio 2010中的代码分析警告 - CA1007
- 11. Visual Studio 2010中的源代码管理?
- 12. 如何在Visual Basic 2010中进行调试时输出代码?
- 13. Visual Studio 2010中的下划线警告?
- 14. Visual Studio:用源代码调试Chrome?
- 15. Visual Studio,调试时的库源码
- 16. 从Visual Studio 2010中的Visual Studio 2008项目编辑源代码
- 17. Visual Studio 2010中长时间的调试
- 18. 调试.NET Framework的源代码仅在Visual Studio 2010中显示反汇编
- 19. 调试和Visual Studio 2010中
- 20. DebuggerVisualizer调试在Visual Studio 2010
- 21. Visual Studio 2008:如何在调试时加载源代码
- 22. Visual Studio代码调试
- 23. Visual Studio代码 - 而调试
- 24. 如何在Visual Studio 2015中调试现有的C++源代码?
- 25. 在Visual Studio中调试框架代码
- 26. 在Visual Studio中调试exe代码
- 27. 在eclipse源代码中调试未发现警告
- 28. 代码分析警告在入住时不会警告TFS 2010
- 29. 跨越源代码行导致Visual Studio调试器退出?
- 30. 在Visual Studio 2010 Ultimate中创建编码UI测试时出错
您是否使用AOP框架?即PostSharp? – MattDavey
winform框架,但它再次被包装在我们自己的formframework中 –
清理代码但仍存在问题构建模块时源文件不同。模块是dll文件。它问你是否希望调试器使用它?是或否? –