Resharper 重拾器堆栈溢出异常

Resharper 重拾器堆栈溢出异常,resharper,xunit,Resharper,Xunit,有时,当我运行单元测试时,测试运行程序抛出一个StackOverflowException。是否有办法确定哪个测试可能导致问题。因为我无法指出问题所在 有什么建议吗?或此问题的一般原因?来自MSDN页面,位于: 在.NET Framework 1.0和1.1中,您可以捕获StackOverflowException对象(例如,从无界递归中恢复)。从.NET Framework 2.0开始,您无法使用try/catch块捕获StackOverflowException对象,并且默认情况下会终止相应

有时,当我运行单元测试时,测试运行程序抛出一个
StackOverflowException
。是否有办法确定哪个测试可能导致问题。因为我无法指出问题所在

有什么建议吗?或此问题的一般原因?

来自MSDN页面,位于:

在.NET Framework 1.0和1.1中,您可以捕获StackOverflowException对象(例如,从无界递归中恢复)。从.NET Framework 2.0开始,您无法使用try/catch块捕获StackOverflowException对象,并且默认情况下会终止相应的进程。因此,您应该编写代码来检测和防止堆栈溢出。例如,如果您的应用程序依赖于递归,请使用计数器或状态条件终止递归循环。下面的示例使用一个计数器来确保对Execute方法的递归调用数不超过MAX_recursive_calls常量定义的最大值


因此,这使得Resharper也很难捕获
StackOverflowException
s。您应该检查您的代码,看看是否有无尽的递归调用,例如方法、函数、属性。除此之外,您可以尝试我共享的
MSDN
链接中的代码。但是您没有其他选择。

您有忘记断开的for或while循环吗?如果循环是无限的,它将抛出StackoverflowException@jackjop没有while循环或for循环用于任何测试扫描,请检查?也许你也有同样的问题,无限属性调用或者类似的,你也可能有类似的问题things@sertsdat这确实是造成问题的项目中的递归方法。谢谢你的建议。