当我运行我的C#程序时,它会在DLL上的一个方法中引发Stack Overflow异常,我在我的解决方案中引用了它。 但我没有可用的调试信息,因为它说它是一个堆栈溢出异常并且没有可用的信息。 我应该遵循哪些下一步的调试步骤来了解发生了什么以及为什么?
感谢
修改:以下代码停在:
static public Collection SortCollection(Collection oCollection, string sPropertyName, string sKeyPropertyName)
{
return SortCollection(oCollection, sPropertyName, sKeyPropertyName);
}
答案 0 :(得分:11)
99%的情况下,根本原因是无限递归。
答案 1 :(得分:3)
查看你的代码,方法SortCollection只是一遍又一遍地调用自己。这将创造一个无限循环。
你需要在函数内部做一些事情,让它最终停止调用自己,就像安德烈在评论中说的那样。
答案 2 :(得分:1)
您可以尝试下载.NET Reflector Pro。 .NET Reflector(基础产品)允许您“反编译”.NET程序集,使您能够查看源代码。
.NET Reflector Pro更进一步,允许您通过任意.NET程序集的源代码进行调试。
Pro不是免费的,但是试用期很短。