调试StackOverFlow异常

时间:2010-05-06 13:32:09

标签: c# debugging

当我运行我的C#程序时,它会在DLL上的一个方法中引发Stack Overflow异常,我在我的解决方案中引用了它。 但我没有可用的调试信息,因为它说它是一个堆栈溢出异常并且没有可用的信息。 我应该遵循哪些下一步的调试步骤来了解发生了什么以及为什么?

感谢

修改:以下代码停在:

static public Collection SortCollection(Collection oCollection, string sPropertyName, string sKeyPropertyName)
{ 
    return SortCollection(oCollection, sPropertyName, sKeyPropertyName); 
} 

3 个答案:

答案 0 :(得分:11)

99%的情况下,根本原因是无限递归。

答案 1 :(得分:3)

查看你的代码,方法SortCollection只是一遍又一遍地调用自己。这将创造一个无限循环。

你需要在函数内部做一些事情,让它最终停止调用自己,就像安德烈在评论中说的那样。

答案 2 :(得分:1)

您可以尝试下载.NET Reflector Pro。 .NET Reflector(基础产品)允许您“反编译”.NET程序集,使您能够查看源代码。

.NET Reflector Pro更进一步,允许您通过任意.NET程序集的源代码进行调试。

Pro不是免费的,但是试用期很短。

http://www.red-gate.com/products/reflector/