首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >函数求值已禁用,因为上一个函数求值超时

函数求值已禁用,因为上一个函数求值超时
EN

Stack Overflow用户
提问于 2010-04-27 20:28:23
回答 1查看 53.4K关注 0票数 21

我有一个C#应用程序,在其中我得到了这个错误:

“函数求值已禁用,因为上一个函数求值超时。您必须继续执行才能重新启用函数求值。”

我在stackoverflow和msdn上看到了许多与此错误相关的帖子,但没有找到解决方案。大多数人说这个错误出现在多线程应用程序中,可以通过删除所有断点来解决。在我的例子中,我的应用程序是单线程的,我也删除了所有的断点,但当我调试应用程序时,我仍然收到这个错误。当我运行应用程序时。如果不进行调试,我的应用程序就会挂起,我必须通过visual studio停止它。我试图找到代码挂起的地方,我找到了挂起的代码行。以下是代码片段:

代码语言:javascript
复制
MatchCollection matchesFound = Regex.Matches(content, 
                                             keywordPattern,
                                             RegexOptions.Multiline);
int matchCount = matchesFound.Count;

当在第二行执行时,即当代码试图获取Count属性的值时,我的应用程序会挂起。我的正则表达式很好,因为我已经在Expresso中对其进行了测试,并且我确信应用程序在执行Matches()方法时不会挂起。如果我调试到这一行,我会得到上面提到的错误。有没有人知道这个错误发生的原因以及如何解决它?

我使用的是Visual Studio2005。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-27 20:47:10

挂起和这条错误消息的原因可能是相同的:有一些东西需要花费很多时间来计算。无论是在代码中还是在调试器中。调试器没有魔力来计算比你的应用程序更快的东西。

您可以尝试使用Debug.WriteLine来输出实际的contentkeywordPattern。我认为很可能两者都足够大,需要很长时间才能进行。

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

https://stackoverflow.com/questions/2721108

复制
相关文章

相似问题

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