System.Web.dll中的堆栈溢出异常

时间:2013-01-04 05:01:40

标签: asp.net iis system.web

所以我犯了一个愚蠢的错误,我打电话给myControl.Controls.Add(myControl);.很容易。有趣的是,这会导致IIS崩溃并在实际框架中抛出异常。我甚至没有打破并让我调试,它只是崩溃了。

看起来.NET框架应该比它更好地处理。还是应该呢?这样的预期行为会出现这样的错误,还是调试器可以更优雅地处理它?<​​/ p>

1 个答案:

答案 0 :(得分:4)

这是记录在案的行为 - 请参阅documentation at MSDN

以下是相关引用:

  

从.NET Framework 2.0版开始,发生StackOverflowException   对象不能被try-catch块和相应的块捕获   进程默认终止。

修改
从调试的角度来看,显然没有堆栈跟踪,如果问题是可重现的,那么相关的代码遍历(或在实际异常发生之前进行调试)可能会指出问题。另一种方法是使用IIS Debug Diagnostics tool并获取错误详细信息和崩溃转储。 请参阅SO answer,这似乎表明了类似的方法。