在我正在研究的团队项目中,IdeasController.cs如果解决方案中存在另一个具有相同名称的文件,则在文件中设置断点(比如说)会导致调试器行为不稳定.我在几个开发人员的工作站上重现了这个问题.
我IdeasController.cs在Web API中设置了一个断点:
另一个文件IdeasController.cs存在于我们单独的MVC 4 Web项目中.在下面的屏幕截图中,调试器显示Api->IdeasController源代码,但行突出显示与代码结构匹配Web->IdeasController.断点是重复的,其中一个位于注释块的中间.
Breakpoint窗口同时显示两个文件中的断点:
在某些工作站上,调试器会逐步执行正确的行(无论行突出显示); 在其他人身上,它愉快地介绍了不相关的行(包括评论和空白).我猜这取决于它选择显示哪个源文件.
我拖网上网了.当调试文件(*.pdb),源文件和编译代码之间不匹配时,似乎会出现这种问题.有很多可能的原因:重复的文件名(可能会混淆调试器[5]),过时的项目构建文件,无效的解决方案缓存或不正确的构建配置.
这些是我发现并尝试过的解决方案:
Debug> Windows> Modules.这两个组件被列出,不最优化,并且具有的"加载符号"符号状态).这些都没有任何影响.我可以重命名其中一个文件(不重命名类)来暂时解决问题,但这远非理想.
我最新的Google搜索的第14页.建议将不胜感激.:)
msbuild debugging debug-symbols visual-studio visual-studio-2012