How to keep Visual Studio debugger visualizers from timing out?

16,510

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.

Share:
16,510
yoyoyoyosef
Author by

yoyoyoyosef

Updated on June 07, 2022

Comments

  • yoyoyoyosef
    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
    alastairs over 13 years
    Looks 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
    ashes999 over 9 years
    As with other registry keys, make sure Visual Studio is closed (no devenv processes running), or VS will overwrite the value when you quit!
  • Chris
    Chris about 5 years
    I'm looking for this in VS2017 and nothing is there, under any version folder.
  • David Burg
    David Burg about 3 years
    Similar question for VS2019 - where was this setting moved?