2010-10-29 117 views
0

我有一个令人费解的问题。我在VS2005中有一个新的ASP.NET Web应用程序,运行得相当好,但我遇到了问题,并想设置一个断点来查看正在发生的事情。我在Debug模式下编译了项目。我在web.config中设置了debug = true。但看起来IDE并没有完全依赖这个过程。我忽略了什么?我正在使用开发服务器而不是IIS。这在过去从来不是问题,但这次。无法在VS2005中调试ASP.NET不会停在断点处

我忽略了什么?谢谢你的帮助。

罗布

+0

在开始调试并且应用程序正在运行后,查看中断点的状态。它是作为一个正常的突破点出现的,还是它在它上面有一个小三角形的圆圈?如果是后者,则调试器不附加到应用程序。 – ulty4life 2010-10-29 19:38:46

回答

2

我有这个问题而回用VS2005。我不记得我从哪里得到了以下说明(将它们复制到一个我现在正在复制到的文件中),但是执行以下步骤对我有用。这与IE8将自己附加到多个进程并搞乱调试器有关。提醒一句,这你编辑注册表,所以需要您自担风险使用/把你所有的常规注意事项等

  1. 打开注册表
  2. 转到HKEY_LOCALMACHINE - >软件 - >微软 - >互联网 浏览器 - >主要
  3. 此键调TabProcGrowth
  4. 下添加一个DWORD
  5. 设置TabProcGrowth 0

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

还请注意,我/我的时候运行XP,所以我没有使用“Vista或较新的”的条款存在。不知道这是否也有不利影响。

+0

这样做!非常非常感谢你! – Rob 2010-10-29 20:12:19

+0

@Rob没问题!我记得在这之前撕掉了我的头发,并且在我找到它之前不得不写出恼人的强制异常抛出来调试大约一周。好醇'IE。 – TheQ 2010-10-29 20:15:23

+0

我也注意到,一旦你得到了VS2005的附件,那么你必须分离VS2005中的所有进程以使用IE8中的调试工具。这就像看着两个孩子争夺糖果! – Rob 2010-11-03 18:50:17

0

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

+0

明显是好的!但是,我正在开始调试。我已经使用F5和调试/开始调试。它不会附加。 – Rob 2010-10-29 18:43:44

0

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

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

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

alt text

+0

该应用程序抛出异常,所以正在进入代码。我之前已经停止了所有的开发服务器。它没有帮助。 – Rob 2010-10-29 20:06:20