代码中的断点没有被击中

时间:2011-05-19 13:02:16

标签: asp.net debugging breakpoints code-behind

我猜这是常见的问题,但到目前为止还没有解决办法:

我的断点(asp.net 2.0)在“后端”程序集中得到很好的打击,但没有 在代码背后。

我甚至可以看到 <%Response.CacheControl =“no-cache”; %GT;在我的asp.net主文件中被击中的行 但仍然没有背后的代码。

我正在使用VS 2005,Windows 7 32位。 知道我还能检查什么吗?

6 个答案:

答案 0 :(得分:5)

如果您的代码文件比正在运行的编译版本更新(在Web服务器上,无论是IIS还是开发服务器),将不会命中断点(红色圆圈将是空心的)。

尝试进行清理/重建,看看是否有效。

修改

我刚注意到你上次评论中的一些内容;你说你附加到asp.net进程。你附加了哪个过程?它应该是w3wp.exe。

答案 1 :(得分:3)

我的问题最终是因为我为项目创建了一个新配置,但没有为它设置项目的调试属性。所以这就是我必须要做的事情:

  1. 右键单击Web项目,然后选择属性
  2. 转到构建标签。
  3. 点击高级
  4. 在对话框中,确保在输出部分中,调试信息 设置为

答案 2 :(得分:2)

我猜在加载页面的符号时出现问题,因此断点没有出现,

试试这个

1 - 在Visual Studio中进行调试时,单击Debug> Windows>模块。 IDE将停靠一个模块窗口,显示已为项目加载的所有模块。

2 - 查找项目的DLL,并检查符号状态。

3 - 如果它说符号已加载,那么你就是金色的。如果它显示无法找到或打开PDB文件,请右键单击您的模块,选择加载符号,然后浏览到PDB的路径。

4 - 我发现有时需要

停止调试器

关闭IDE

关闭托管应用程序

核对obj和bin文件夹

重启IDE

重建项目

再次浏览“模块”窗口

一旦浏览到PDB文件的位置,符号状态就会变为符号已加载,现在您应该能够在代码中设置并捕获断行点。

希望它有所帮助!

Answer source

答案 3 :(得分:1)

U。就我而言,我已经在IIS中映射了正确的文件夹,但是该应用程序是在IIS Express上设置的。

因此,当我转到URL时,正确的程序集将在其中加载,但是该应用程序已附加到从未受到任何点击的IIS Express版本中。

答案 4 :(得分:0)

在我的情况下,我从Git更新了我的仓库,项目从本地IIS更改为IIS Express(项目>属性> Web选项卡)。这在某种程度上搞砸了我的配置,我无法调试。

答案 5 :(得分:0)

通过将其设置为“启动项目”来解决了我的问题

解决方案资源管理器->右键单击项目->设置为启动项目

菜单栏->项目或网站->设置为启动项目