首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Resharper StackOverflowException

Resharper StackOverflowException
EN

Stack Overflow用户
提问于 2018-08-24 08:02:29
回答 1查看 180关注 0票数 0

有时,当我运行单元测试时,测试运行程序会抛出一个StackOverflowException。有没有办法看看哪个测试可能会导致问题。因为我找不到问题的所在。

有小费吗?还是造成这个问题的一般原因?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 09:52:36

来自StackOverflowExceptions上的MSDN页面。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51999988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档