Как сохранить визуализаторы Visual Studio отладчика от тайм-аута?

Я успешно сделал несколько визуализаторов отладчика Visual Studio, и они работают очень хорошо, за исключением того, что на некоторых объектах я получаю ошибку таймаута, когда пытаюсь десериализовать объект с помощью objectProvider.GetObject()

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

Тайм-аут происходит довольно быстро (может быть, примерно через секунду после того, как я нажму на значок визуализатора), хотя некоторые из моих других визуализаторов прекрасно работают даже с большими объектами данных, которые намного дольше отображаются (5-10 секунд) и все еще не время ожидания.

Я уже создал собственный источник объектов, чтобы ограничить сериализацию полями, которые мне нужно отображать. Что еще я могу сделать, чтобы получить данные для десериализации без выключения времени?

Ответ 1

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

Я думаю, что это не документировано, но вы можете попробовать изменить некоторые таймауты в вышеупомянутом разделе реестра и перезапустить Visual Studio.

Ответ 2

Я был недавно поражен этим в VS2012, и после googling я нашел this:

Как указано в сообщении об исключении, это исключение означает отладчик визуализатор для данных datatable приурочен. В отладчике VS каждый окна оценки выражения (такие как окно просмотра, окно локальных компьютеров, datatips, autos window и т.д.) имеет разное значение по умолчанию max оценка времени ожидания. Для datatip мы предпочитаем давать короткие времени, потому что в противном случае он будет обеспечивать плохого пользователя выражение. Если вы хотите использовать функцию визуализатора для этот тип данных, вы можете добавить выражение к часам и попытаться визуализируйте его. (Потому что окно просмотра имеет более длинное значение таймаута). если ты действительно хотите избавиться от этого тайм-аута в datatip, вы можете попытаться увеличить значение таймаута для datatip. Значение тайм-аута - это параметр в "DataTipTimeout" раздел реестра: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Отладчик Примечание. вы должны исследовать WOW64Node для 64-битной ОС. Вы также можете увидеть другие окна "по умолчанию для этого ключа.

Ответ 3

Отладчик Visual Studio хорошо работает - окно "Locals" в "WPF visualizer" (проверено в приложении WPF), вам нужно найти в реестре: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12,0\Debugger \ Параметр DWORD "LocalsTimeout" и значение по умолчанию (1000) установлены на достаточно большое значение, например, 5000.