当我运行我的C#程序时,它会在DLL上的一个方法中抛出堆栈溢出异常,而我在解决方案中对它有一个引用。但是我没有调试信息,因为它说它是堆栈溢出异常,也没有可用的信息。接下来我应该遵循哪些调试步骤来理解正在发生的事情以及原因?
谢谢
编辑:下面是停止的代码:
static public Collection SortCollection(Collection oCollection, string sPropertyName, string sKeyPropertyName)
{
return SortCollection(oCollection, sPropertyName, sKeyPropertyName);
}
发布于 2010-05-06 05:36:05
在99%的病例中,根本原因是无限递归。
发布于 2010-05-06 06:06:38
查看您的代码,方法SortCollection只是一次又一次地调用自己。这将创建一个无限循环。
就像Andrey在他的评论中说的那样,你需要在函数内部做一些事情,让它最终停止调用自己。
发布于 2010-05-06 05:38:34
您可以尝试下载.NET Reflector。.NET反射器(基本产品)允许您“反编译”.NET程序集,使您能够查看源代码。
.NET Reflector更进一步,允许您通过任意.NET程序集的源代码进行调试。
Pro不是免费的,但试用期很短。
https://stackoverflow.com/questions/2781500
复制