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

发布于 2024-07-18 03:42:50 字数 482 浏览 7 评论 0原文

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

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

超时发生得相当快(可能在我单击可视化工具图标后大约一秒钟),尽管我的其他一些可视化工具即使对于显示时间更长(5-10 秒)的大型数据对象也可以正常工作,但仍然无法正常工作暂停。

我已经制作了一个自定义对象源来将序列化限制为我需要显示的字段。 我还能做什么来让数据反序列化而不超时?

I've successfully made several Visual Studio debugger visualizers, and they're working very well, except that on some objects I get a time out error when I try to deserialize the object with objectProvider.GetObject()

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

The time out happens rather quickly (maybe about a second after I click on the visualizer icon), even though some of my other visualizers work fine even with large data objects that much longer to display (5-10 seconds) and still don't timeout.

I've already made a custom object source to limit the serialization to the fields I need to display. What else can I do to get the data to deserialize without timing out?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心凉怎暖 2024-07-25 03:42:50
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

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

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

I think this is not documented, but you can try changing some of the Timeouts in the above registry key, and restart Visual Studio.

红ご颜醉 2024-07-25 03:42:50

我最近在 VS2012 中遇到了这个问题,在谷歌搜索后我发现 这个

正如异常消息所说,这个异常意味着调试器
数据表的可视化工具超时。 在VS调试器中,每个
表达式求值窗口(例如监视窗口、局部窗口、
数据提示、自动窗口等..)具有不同的默认最大表达式
评估超时值。 对于数据提示,我们更愿意给出一个简短的
超时值,否则会给用户带来不良影响
表达。 如果您确实想使用可视化工具功能
该数据表,您可以将表达式添加到手表中并尝试
可视化它。(因为监视窗口具有较长的超时值)。 如果你
确实想摆脱数据提示中的超时,您可以尝试增加
数据提示的超时值。 超时值是一个设置
“DataTipTimeout”注册表项位于:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger 注意:
您应该探测 WOW64Node 的 64 位操作系统。 你还可以看看其他的
该键下windows的默认超时值。

I was recently hit by this in VS2012 and after googling I found this:

As the exception message says, this exception means the debugger
visualizer for the datatable is timed out. In VS debugger, each
expression evaluation windows(such as watch window, locals window,
datatips, autos window etc..) has different default max expression
evaluation timed out value. For datatip, we prefer to give a short
time out value because otherwise it will provide a poor user
expression. If you do want to use the visualizer functionality for
that datatable, you may add the expression to a watch and try to
visualize it.(Because watch window has a longer timeout value). If you
do want to get rid of this timeout in datatip, you may try to increase
the timeout value for datatip. The timeout value is a setting in
"DataTipTimeout" registry key under:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger Note:
you should probe WOW64Node for 64bit OS. You can also see other
windows' default timeout value under this key.

只是一片海 2024-07-25 03:42:50

为了让 Visual Studio 调试器正常工作 - “WPF 可视化工具”中的“本地”窗口(在 WPF 应用程序中测试),您需要在注册表中找到:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\Debugger\
DWORD 参数“LocalsTimeout”和默认值 (1000) 设置为足够大的值,例如 5000。

To Visual Studio debugger work well - "Locals" window in "WPF visualizer" (tested in WPF application), you need to find in registry:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\Debugger\
DWORD parameter "LocalsTimeout" and default value (1000) set to big enough value, 5000, for example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文