我已成功制作了几个Visual Studio调试器可视化工具,并且它们工作得非常好,除了在某些对象上我尝试使用反序列化对象时出现超时错误 objectProvider.GetObject()
System.Exception: Function evaluation timed out. at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)
超时发生的时间相当快(可能在我点击可视化器图标后大约一秒钟),即使我的其他可视化工具工作正常,即使大型数据对象显示更长时间(5-10秒)仍然没有超时.
我已经创建了一个自定义对象源来限制序列化到我需要显示的字段.我还能做些什么来使数据反序列化而不超时?
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger
我认为这没有记录,但您可以尝试更改上述注册表项中的一些超时,然后重新启动Visual Studio.
我最近在VS2012遇到了这个问题,经过谷歌搜索我发现了这个:
正如异常消息所示,此异常意味着数据表的调试器可视化器已超时.在VS调试器中,每个表达式评估窗口(例如监视窗口,本地窗口,数据提示,自动窗口等)都具有不同的默认最大表达式评估超时值.对于数据提示,我们更倾向于给出短暂的超时值,否则它将提供较差的用户表达.如果您确实想要为该数据表使用可视化工具功能,您可以将表达式添加到监视并尝试将其可视化.(因为监视窗口具有更长的超时值).如果您确实希望在datatip中消除此超时,则可以尝试增加datatip的超时值.超时值是"DataTipTimeout"注册表项中的设置:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger注意:您应该探测64位操作系统的WOW64Node.您还可以在此键下查看其他窗口的默认超时值.