36

最近我开始研究VS2012。

当我调试我的代码(这是一个 SharePoint 2013 应用程序)并尝试获取变量的值时 - 我一次又一次地收到消息:

Function evaluation disabled because a previous function evaluation timed out.
You must continue execution to reenable function evaluation.

我以前在 Visual Studio 2010(用于 SharePoint 2010 应用程序)中工作,在尝试获取快速观察中的变量值时几乎从未收到此消息。

我用谷歌搜索了错误消息,我发现在尝试获取操作需要很长时间的函数值时会出现问题,但我并没有尝试获取函数的值,只是变量,但我得到了这个错误.

我并不总是在相同的变量上得到错误,而是随机的——每次不同的变量。

有没有其他人在 VS2012 中专门遇到这个问题?

我怎样才能摆脱它?

4

1 回答 1

9

为什么会这样?

当你试图观察一些必须是线程安全的变量时,似乎这种错误可能会发生,但有时这个框架实现并不完美......

为避免此问题:在单步执行变量绑定到窗口或其他控件的代码时,您不会显示局部变量或“自动”变量。仅当您确定所有变量都可以安全查看时,才查看此类内容。请注意,错误不一定出现在不安全的变量上。在危险代码中操作时,使用安全(即非控制)变量的“立即”窗口。

数据访问器应该始终是线程安全的。但有时在两个实现之间(假设在 Sharepoint 2010 和 Sharepoint 2012 或两个版本的 .NET 框架之间),这个规则有时不正确......在 VS2003 和 2005 之间有一些例子......

如何增加超时?

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\Debugger您可以通过使用更改注册表项的值来增加超时RegEdit

更改注册表项后不要忘记重新启动 Visual Studio。

于 2013-07-30T20:51:20.400 回答