我有一个着名的“断点不会被击中。没有为此文档加载任何符号。“ - 问题并受到thread的启发:
我启动了调试器,打开了Debug - >窗口 - >模块,右键单击组件 - >符号加载信息。它指向一个奇怪的地方:
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的Thx ......
编辑:它是 ASP.NET - 项目(.NET 4.0),MVC 3 。到目前为止还没有包含COM库。我现在再次删除了上面提到的目录,并再次以“断点当前不会......”结束。如果我打开模块窗口,符号状态显示所有程序集的“Skipped loading simbols。”,除了App_global.asax.exot9a5x.dll。
编辑2:网站配置为在本地IIS 7 上运行。如果我更改为Visual Studio开发服务器,调试工作正常。似乎与IIS有关?
答案 0 :(得分:26)
当我启动调试器时,我已将配置设置为Release
。当我将其更改为Debug
时,它会按预期工作!
答案 1 :(得分:8)
IIS 7,Visual Studio 2012,发布到本地IIS以及从Visual Studio进行调试。
问题出现是因为Web应用程序无法从Temporary ASP.NET文件夹中获取PDB
在 IIS
中执行任何操作之前,重新启动您的网络应用程序的 app_pool答案 2 :(得分:6)
javascript文件的断点问题的另一个解决方案是清除IE9缓存。我在更新/保存js文件后遇到了这个问题。在我进入Internet选项并删除临时Internet文件之前,Visual Studio 2012的调试器不会更新.pdb。希望这能节省一些时间。
答案 3 :(得分:2)
关于我的问题只是一个注释,最后看起来有些愚蠢,但我仍然在恐慌中浪费了大约一个小时。
我必须卸载nuget才能升级它。安装新的nuget和我遇到断点错误之后的包。
原来,在那些安装过程中,我的发布设置丢失了我正在运行开发项目的特定端口。因为我在过去的4个月里已经习惯了这个端口号,所以我甚至都没想过,但是我一直认为我在看dev机器,它实际上并没有在那个端口上运行,而我正在查看我的浏览器中已经存在的缓存页面。 DER!
可能听起来很愚蠢,但如果它对某人有帮助的话。
快乐编码, ķ
答案 4 :(得分:1)
我回答了一个可以解决您问题的类似问题。在发布设置中保留选中的“排除生成的调试符号”是一个常见的错误。看看我的回答: https://stackoverflow.com/a/16202843/2208689
答案 5 :(得分:1)
要在VS 2015中解决此问题,我必须:
当我搞砸了构建配置管理器并添加了我自己的问题时,出现了问题。不知何故,这改变了项目中的Debug Info设置。
答案 6 :(得分:0)
要在Web.config中解决此问题,我只需添加debug="true"
<system.web>
<compilation targetFramework="4.0" debug="true">
帮助我找到这个解决方案的原因是在调试时一直在查看模块窗口,并看到我加载的ASP.NET DLL: Binary没有使用调试信息构建。
答案 7 :(得分:0)
确保您不仅安装VS2010,还安装VS2010 Service Pack 1。
我尝试了所有发布的解决方案,包括重新安装 - 即使在新计算机上也没有成功!你需要服务包。获得后,如果问题仍然存在,请尝试其他已发布的解决方案。