“The breakpoint will not currently be hit. No symbols have been loaded for this document.” - .pdb loaded from wrong place?
我曾经说过"断点目前不会被击中"。没有为此文档加载任何符号。"-问题并受到此线程的启发:
我启动了调试器,打开debug->window->modules,右键单击assembly->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: Symbols loaded.`
当我删除
任何小费的THX…
编辑:它是一个ASP.NET项目(.NET 4.0),MVC 3。目前还没有包含COM库。我现在又删除了上面提到的目录,并再次以"断点当前不会…"结束。如果我打开模块窗口,除了app_global.asax.exot9a5x.dll之外,所有程序集的符号状态都显示"跳过加载Simbols"。
编辑2:网站配置为在本地IIS 7上运行。如果我改为Visual Studio开发服务器,调试工作正常。似乎与IIS有关?
结果发现,当我启动调试器时,我已经将配置设置为
IIS 7,Visual Studio 2012,发布到本地IIS并从Visual Studio调试。
出现问题的原因是Web应用程序无法从临时ASP.NET文件夹中提取PDB
在执行任何操作之前,请在IIS中重新启动Web应用程序的应用程序池
另一个解决JavaScript文件断点问题的方法是清除IE9缓存。我在更新/保存JS文件后遇到了这个问题。在进入Internet选项并删除Internet临时文件之前,Visual Studio 2012的调试器不会更新.pdb。希望这能节省一些时间。
只是一个关于我这个问题的笔记,最后看起来有点傻,但我还是在恐慌中浪费了大约一个小时。
我必须卸载nuget才能升级它。在安装了新的nuget和包之后,我得到了断点错误。
结果,在这些安装过程中,我的发布设置不知何故丢失了我运行dev项目的特定端口。在过去的4个月里,我对那个端口号已经很习惯了,我甚至都没有考虑过,但在我考虑开发机器的整个过程中,它实际上并没有在那个端口上运行,我只是在查看浏览器中已经打开的缓存页面。德!
也许,听起来很蠢,但如果它能帮助别人的话。
快乐编码K
为了在vs 2015中解决这个问题,我必须:
当我搞砸了构建配置管理器并添加了自己的配置管理器时,问题出现了。不知何故,这改变了项目中的调试信息设置。
我回答了一个类似的问题,可以解决你的问题。在发布设置中保留选中的"排除生成的调试符号"是一个常见错误。看我的答案:https://stackoverflow.com/a/16202843/2208689
确保您不仅安装了VS2010,而且安装了VS2010 Service Pack 1。
我尝试了所有张贴的解决方案,包括重新安装-即使在没有成功的新计算机上!你需要服务包。如果问题仍然存在,请尝试其他已发布的解决方案。
来源:http://blogs.msdn.com/b/aseemb/archive/2012/09/08/not-able-to-run-unit-tests-when-visual-studio-2010-and-visual-studio-2012-are-installed-side-by-side.aspx
为了在web.config中解决这个问题,我只需要添加EDOCX1[2]
1 2 | <system.web> <compilation targetFramework="4.0" debug="true"> |
帮助我找到这个解决方案的是在调试时查看模块窗口,并看到我加载的ASP.NET DLL的模块窗口:二进制文件不是用调试信息生成的。