Ich habe mehrere Visual Studio-Debugger Visualizer erfolgreich gemacht, und sie arbeiten sehr gut, dass mit Ausnahme einiger Objekte ich eine Auszeit Fehler, wenn ich versuche, mit objectProvider.GetObject()
Wie verhindert man, dass Visual Studio-Debugger-Visualizer auslaufen?
System.Exception: Function evaluation timed out.
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)
Die Zeit, um das Objekt zu deserialisieren Das passiert ziemlich schnell (vielleicht etwa eine Sekunde nachdem ich auf das Visualizer-Icon geklickt habe), obwohl einige meiner anderen Visualizer auch mit großen Datenobjekten funktionieren, die viel länger angezeigt werden (5-10 Sekunden) und immer noch kein Timeout haben.
Ich habe bereits eine benutzerdefinierte Objektquelle erstellt, um die Serialisierung auf die Felder zu beschränken, die ich anzeigen muss. Was kann ich noch tun, um die Daten ohne Zeitlimit zu deserialisieren?
Sieht aus wie 'NormalEvalTimeout' ist der Wert zu ändern (Wert wird in Millisekunden angegeben). 'QuickwatchTimeout' ist ebenfalls eine Aktualisierung wert, wenn Sie diese Funktion verwenden (wenn Sie den Mauszeiger über eine Variable im Debugger bewegen, um deren aktuellen Wert anzuzeigen). Die Standardwerte für diese Werte sind 5000 bzw. 15000, wenn Sie sie wiederherstellen müssen. – alastairs
Wie bei anderen Registrierungsschlüsseln stellen Sie sicher, dass Visual Studio geschlossen ist (keine 'devenv' Prozesse werden ausgeführt) oder VS überschreibt den Wert beim Beenden! – ashes999