为什么VS2008中的断点会停止工作?

时间:2020-03-05 18:52:34  来源:igfitidea点击:

我有一个casp.net网络应用程序。数据库层中的断点不再停止执行,但UI层中的断点仍然可以正常工作。任何人都可以猜测为什么会发生这种情况吗?

我已经检查了所有常见的可疑对象(所有项目的调试版本均已打开),并在解决方案中重新编译了所有项目...

解决方案

回答

我们是否尝试过在重新编译之前删除bin目录?

回答

我将确保UI层引用适当的"调试" .dll。在调试以查看是否已为BLL和DAL .dlls加载符号时,我还考虑按CTRL + ALT + U(模块视图)。如果不是,则Visual Studio无法找到该文件的.PDB。调试文件(.PDB)与从"模块"窗口引用的.dll是否在同一目录中?

回答

  • 将调试器添加到ASP.NET进程,然后单击"模块"窗口。确保为要调试的程序集加载了调试符号。
  • 确保用户界面引用的是调试程序集,而不是发布程序集。
  • 确保.PDB文件位于/ bin / debug /目录中
  • 在连接调试器之前,请确保我们重建了整个解决方案。
  • 如果数据层在单独的解决方案中,则将项目添加到UI SLN(我们无需添加引用,那些引用应该已经建立,或者代码不会编译),以便调试器可以拉完整的代码。

回答

感谢回答和想法,我已经尝试了所有这些方法或者它们的变体。

我认为这一定是一个非常微妙的VS错误。一位同事建议我将要尝试破坏的功能公开(以前是" undefined",因此是隐式私有的),然后重试。我这样做了,断点开始受到打击。然后,我删除了public关键字,并且断点继续被击中。不知道为什么能解决这个问题,但确实做到了。

谢谢帮助!

回答

一些建议。
第一个是检查源代码行中断点的状态。这是一个稳定的红球吗?如果不是,则通常表明该文件不是用于构建的文件。
其次,查看模块视图,查看已加载了哪些模块和符号。我们可能会发现这不是我们期望的。

至于为什么我不知道!

缺口

回答

我遇到了同样的问题,并一直在思考"我在web.config中做了什么更改"以潜在地做到这一点?

<location path="." inheritInChildApplications="false">

那是不允许断点为我工作。