断点目前不会被击中。没有为此文档加载符号

时间:2011-04-26 21:01:22

标签: asp.net debugging

我已经用Google搜索了这个特殊问题,但似乎找不到合适的解决方案。

症状:在Web应用程序项目中的aspx页面的代码隐藏中添加断点后,断点在边距中显示为挖空的红色圆圈,在圆圈右下方的黄色三角形中包含感叹号。当鼠标悬停在断点上时,会显示消息“断点当前不会被命中。此文档没有加载任何符号。”

注意:我正试图通过“附加到[a]进程”来命中断点,即位于远程计算机上的w3wp.exe。

我尝试过的事情。

  1. 重新编译解决方案中的其他项目。
  2. 检查以确保解决方案中每个项目和网站的配置在“any pc”上设置为“Debug”。
  3. 关闭解决方案并重新启动Visual Studio。
  4. 重新启动IIS。
  5. 重新连接到进程(w3wp.exe)。
  6. 我一直试图使用Internet Explorer版本9和Mozilla FireFox版本4来破解断点。在每种情况下,断点都不会被击中。

    欢迎任何想法!谢谢!

    安德鲁

7 个答案:

答案 0 :(得分:4)

您是否将程序集部署到GAC?如果没有,请将.pdb文件与.dll文件一起复制,并将它们放在同一个bin目录中。调试器应自动拾取符号。

答案 1 :(得分:4)

我遇到同样的问题并猜测是什么?就这样做:在解决方案资源管理器中,右键单击Project - >包/发布设置UNCHECK“排除生成的调试符号”...

也许它无法解决您的具体问题,但肯定会让其他人免于痛苦。 我无法发布截图,因为我没有10个声誉...... :(

和你们一样,我整天都在google和stackoverflow上搜索,问题就是这样。我意识到当我点击“发布”时,当我看到准备发布的bin文件夹中的PDB文件变为0字节大小时...

答案 2 :(得分:3)

如果您的项目中有多个解决方案。

右键点击您的解决方案 - >特性

设为 - >启动项目

答案 3 :(得分:1)

这个错误产生的原因很多,一个解决方案是:当你尝试附加进程时,由于不同的框架版本。有关详细信息,请访问:https://stackoverflow.com/a/13106908/1218422

答案 4 :(得分:0)

我有同样的问题,通过切换调试方法修复它。我点击了F5,将web项目设置为启动项目(以及在项目设置中选择的“不要打开页面。等待来自外部应用程序的请求”)。

当我使用调试菜单手动将VS调试器连接到w3wp.exe进程时,它已经工作了。

答案 5 :(得分:0)

我意识到这是一个旧线程,但没有提到的一件事就是确保在web.config文件中启用了调试。

答案 6 :(得分:0)

就我而言,我正尝试调试IIS中托管的ASP.NET Core应用程序。我注意到,当我发布应用程序(dotnet发布)时,生成的web.config包含以下行:

 <aspNetCore processPath=".\MyService.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

即使该应用程序在IIS中运行,我也必须附加到MyService.exe而不是w3wp.exe才能对其进行调试。