首页 / 知识

关于visual studio 2008:为什么VS2008的断点会停止工作?

2023-04-15 04:37:00

关于visual studio 2008:为什么VS2008的断点会停止工作?

Why would breakpoints in VS2008 stop working?

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

我已经检查了所有常见的嫌疑人(所有项目的调试版本都已启用)并重新编译了解决方案中的所有项目...


一些建议。
第一个是检查源代码行中断点的状态。它是一个实心的红球吗?如果不是,则通常表明有问题的文件不是用于构建的文件。
其次 - 查看模块视图并查看已加载的模块和符号。您可能会发现这不是您所期望的。

至于为什么-我不知道!

尼克


感谢大家的回复和想法 - 我已经尝试了所有这些或它们的变体。

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

感谢您的帮助!


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

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


我遇到了同样的问题,并一直在想"我在 web.config 中做了什么更改"以可能会这样做?

1
  location path="." inheritInChildApplications="false"

这不允许断点为我工作。


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


断点执行数据库应用程序

最新内容

相关内容

猜你喜欢