首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试过程中的Visual :函数计算需要所有线程运行

问调试过程中的Visual :函数计算需要所有线程运行
EN

Stack Overflow用户
提问于 2015-05-01 10:20:06
回答 7查看 141.3K关注 0票数 130

我在调试的时候突然发现了一个奇怪的错误。到目前为止,手表窗口中的变量一直在正确显示。现在,我总是在监视窗口中得到以下错误消息:

函数求值要求所有线程运行。

我再也不能检查任何变量了。我没有显式地处理线程。我该怎么做才能让它再起作用?

正如在一些论坛中提到的,我已经禁用了调试器的选项窗口中的函数:“EnableProperty估价和其他隐式函数调用”。但没有成功,这给了我一个错误:

用户禁用的错误隐式函数计算

EN

回答 7

Stack Overflow用户

发布于 2015-05-01 10:50:41

来自msdn论坛:

这本身并不是一个错误,而是调试器的一个特性。有些属性需要执行代码才能读取属性,但是如果这需要跨线程交互,那么其他线程可能也必须运行。调试器不会自动执行此操作,但在您的许可下当然可以。只需单击“评估”小图标,它就会运行您的代码并计算属性。

​

​

有关此行为的更多详细信息,请检查此卓越的文章

票数 152
EN

Stack Overflow用户

发布于 2018-09-05 21:17:28

当我尝试使用实体框架从一个名为"AGENCY“的表中获取项目时,我遇到了这个问题:

代码语言:javascript
复制
var agencies = db.AGENCY.OrderBy(e => e.FULLNAME);

​

​

在调试模式下徘徊在代理上,单击以展开选项,然后单击结果将给出可怕的“函数评估要求所有线程运行”的图标,在该图标的末尾,单击“不进入”,而单击该图标时,单击“什么都不做”。

2.可能的解决办法:

  1. 在后面添加.ToList(): var agencies = db.AGENCY_TABLE.OrderBy(e => e.FULLNAME).ToList(); List<AGENCY_TABLE> agencies = db.AGENCY_TABLE.OrderBy(e => e.FULLNAME).ToList(); 这归功于Hp93帮助我找到这个解决方案。在我找到这个解决方案的MUG4N的回答中,它还提到了尝试.Any()而不是.ToList(),但是这给出了一个布尔值而不是一个<T>,就像<AGENCY>那样,所以它可能不会有帮助。
  2. 解决办法-在调试选项中尝试不同的路径。我发现我可以点击“非公共成员”> "_internalQuery“> ObjectQuery >结果视图,并以这种方式获取我的值。

​

​

票数 35
EN

Stack Overflow用户

发布于 2018-01-24 15:10:20

MUG4N确实提供了一个正确的答案,但是如果您在调试中的代码行上徘徊,您可能会看到如下所示。如果是的话,单击下面图像中突出显示的小重评估图标.

​

​

NB:我是通过钉扎得到这张图像的,通常重新评估的图标在窗口的中间,而不是在左边的列上。

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

https://stackoverflow.com/questions/29985150

复制
相关文章

相似问题

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