"断点目前不会被击中.没有为此文档加载符号." - .pdb从错误的地方加载?

sl3*_*dg3 15 asp.net debugging breakpoints visual-studio-2010

我有着名的"断点不会被击中.没有为此文档加载任何符号." - 问题并受到此主题的启发:

我启动了调试器,打开Debug - > Window - > Modules,右键单击程序集 - > Symbol Load Information.它指向一个奇怪的地方:

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files {myProjectFolder}\8df46672\bbaeb99e\assembly\dl3\c29c5e19\aa46dcf7_10dccc01 {myProject} .pdb:符号已加载.

当我删除时,它暂时解决了我的问题{myProjectFolder}.但它仍指向此.pdb文件(VS在删除后重新创建临时文件夹).我想它应该指向bin目录中的.pdb,就像在其他程序集中一样.我该如何解决这个问题?或者这是正常的行为?

对于任何tipps来说......

编辑:它是一个ASP.NET - Project(.NET 4.0),MVC 3.到目前为止还没有包含COM库.我现在再次删除了上面提到的目录,并再次以"断点当前不会......"结束.如果我打开模块窗口,符号状态显示所有程序集的"跳过加载符号."除外App_global.asax.exot9a5x.dll.

编辑2:网站配置为在本地IIS 7上运行.如果我更改为Visual Studio开发服务器,调试工作正常.似乎与IIS有关?

sl3*_*dg3 26

事实证明我已经将配置设置为Release启动调试器的时间.当我将其更改为时Debug,它按预期工作!


小智 8

IIS 7,Visual Studio 2012,发布到本地IIS以及从Visual Studio进行调试.

出现问题的原因是Web应用程序无法从Temporary ASP.NET文件夹中获取PDB

在执行任何操作之前,请在IIS中重新启动 Web应用程序的app_pool


小智 6

使用javascript文件解决断点问题的另一个方法是清除IE9缓存.我在更新/保存js文件后遇到了这个问题.在我进入Internet选项并删除临时Internet文件之前,Visual Studio 2012的调试器不会更新.pdb.希望这能节省一些时间.