【问题标题】:Can't debug ASP.NET in VS2005 won't stop at break pointVS2005 无法调试 ASP.NET 不会在断点处停止
【发布时间】:2010-10-29 18:36:48
【问题描述】:

我有一个令人费解的问题。我在 VS2005 中有一个新的 ASP.NET Web 应用程序,它运行得相当好,但是我遇到了一个问题,想设置一个断点来看看发生了什么。我已经在调试模式下编译了项目。我在 web.config 中设置了 debug=true。但似乎 IDE 根本没有附加到该进程。我忽略了什么吗?我使用的是开发服务器而不是 IIS。这在过去从来不是问题,但这次是。

我是否忽略了什么?感谢您的帮助。

罗伯

【问题讨论】:

  • 开始调试后,应用程序正在运行,查看断点的状态。它是否显示为一个正常的断点,或者它是一个顶部有一个小警告三角形的圆圈?如果是后者,则调试器未附加到应用程序。

标签: asp.net debugging visual-studio-2005 breakpoints


【解决方案1】:

我在使用 VS2005 时遇到过这个问题。我不记得我从哪里得到以下说明(将它们复制到我现在复制给您的文件),但执行以下步骤对我有用。它与 IE8 将自身附加到多个进程并弄乱调试器有关。警告,这让你编辑注册表,所以使用风险自负/采取所有正常的预防措施,等等。

  1. 打开 RegEdit
  2. 转到 HKEY_LOCALMACHINE -> 软件 -> Microsoft -> Internet 资源管理器 -> 主要
  3. 在此键下添加一个名为 TabProcGrowth 的 dword
  4. 将 TabProcGrowth 设置为 0

    如果你遇到同样的问题 Vista 或更新版本,您还需要 关闭保护模式。

还请注意,我当时正在/正在运行 XP,因此我不必在那里使用“Vista 或更新”子句。不知道这是否有任何不利影响。

【讨论】:

  • 做到了!非常非常感谢!
  • @Rob 没问题!我记得为此我费尽心思,不得不编写烦人的强制异常抛出来调试大约一周,然后才找到它。不错的 IE。
  • 我还注意到,一旦你让VS2005附加,那么你必须分离VS2005中的所有进程才能使用IE8中的调试工具。就像看两个孩子抢糖果一样!
  • @Rob 是的,老实说,这真的很麻烦。我最终完成了 VS2005 的全新安装,并且我再也没有出现过这个问题,记录在案。
  • 所以,现在我们有了 Win7,注册表项选项将不起作用,因为那里已经有一个同名的键...除了它是一个 reg_sz 键,它被设置为中等的。还有另一种解决方法吗?或者,我应该将其从中等更改为其他内容吗?什么?
【解决方案2】:

对不起,如果我说的很明显,但您需要开始调试<F5>,而不是在编译后运行可执行文件。你这样做吗?

【讨论】:

  • 明显好!但是,我正在开始调试。我已经使用了 F5 和 Debug/Start Debugging 两者。它不会附加。
【解决方案3】:

如果你没有命中断点,你要么没有调试(F5),要么你的代码根本没有到达。如果您想知道两者中的哪一个正在发生,您可以在断点所在的代码处引发异常。如果您的应用程序因异常而失败,则您知道您没有使用调试器运行它。如果它没有在异常中失败,那么您根本就没有到达那段代码,您将不得不更加努力地寻找您实际运行的代码。

throw new Exception("if I see this exception, I am not running the debugger");

或者您可能正在运行开发服务器的两个实例。我有时也有过。在 Windows 系统托盘中查找图标。如果您看到两个(或更多),您可以右键单击停止它们并重新开始调试。

【讨论】:

  • 应用程序抛出异常,因此正在获取代码。我之前已经停止了所有的开发服务器。它没有帮助。
猜你喜欢
  • 2023-03-12
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 2010-11-25
  • 2011-07-14
  • 2013-09-27
相关资源
最近更新 更多