当前位置:  开发笔记 > 编程语言 > 正文

如何防止Visual Studio调试器可视化器超时?

如何解决《如何防止VisualStudio调试器可视化器超时?》经验,为你挑选了2个好方法。

我已成功制作了几个Visual Studio调试器可视化工具,并且它们工作得非常好,除了在某些对象上我尝试使用反序列化对象时出现超时错误 objectProvider.GetObject()

System.Exception: Function evaluation timed out.
  at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)

超时发生的时间相当快(可能在我点击可视化器图标后大约一秒钟),即使我的其他可视化工具工作正常,即使大型数据对象显示更长时间(5-10秒)仍然没有超时.

我已经创建了一个自定义对象源来限制序列化到我需要显示的字段.我还能做些什么来使数据反序列化而不超时?



1> Ying..:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

我认为这没有记录,但您可以尝试更改上述注册表项中的一些超时,然后重新启动Visual Studio.


看起来`NormalEvalTimeout`是要更改的值(值以毫秒为单位指定).如果使用此功能(在调试器中将鼠标悬停在变量上以查看其当前值),则"QuickwatchTimeout"也值得更新.如果需要还原它们,这些值的默认值分别为5000和15000.
与其他注册表项一样,确保Visual Studio已关闭(没有"devenv"进程正在运行),否则VS将在您退出时覆盖该值!

2> ldam..:

我最近在VS2012遇到了这个问题,经过谷歌搜索我发现了这个:

正如异常消息所示,此异常意味着数据表的调试器可视化器已超时.在VS调试器中,每个表达式评估窗口(例如监视窗口,本地窗口,数据提示,自动窗口等)都具有不同的默认最大表达式评估超时值.对于数据提示,我们更倾向于给出短暂的超时值,否则它将提供较差的用户表达.如果您确实想要为该数据表使用可视化工具功能,您可以将表达式添加到监视并尝试将其可视化.(因为监视窗口具有更长的超时值).如果您确实希望在datatip中消除此超时,则可以尝试增加datatip的超时值.超时值是"DataTipTimeout"注册表项中的设置:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger注意:您应该探测64位操作系统的WOW64Node.您还可以在此键下查看其他窗口的默认超时值.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有