How to keep Visual Studio debugger visualizers from timing out?
Solution 1
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.
Solution 2
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.
yoyoyoyosef
Updated on June 07, 2022Comments
-
yoyoyoyosef about 2 years
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?
-
alastairs over 13 yearsLooks like
NormalEvalTimeout
is the value to change (value is specified in milliseconds).QuickwatchTimeout
is also worth updating if you use this feature (hovering over a variable in the debugger to view it's current value). The defaults for these values are are 5000 and 15000 respectively if you need to restore them. -
ashes999 over 9 yearsAs with other registry keys, make sure Visual Studio is closed (no
devenv
processes running), or VS will overwrite the value when you quit! -
Chris about 5 yearsI'm looking for this in VS2017 and nothing is there, under any version folder.
-
David Burg about 3 yearsSimilar question for VS2019 - where was this setting moved?