Microsoft.VisualStudio.DebuggerVisualizers Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Klassen
DialogDebuggerVisualizer |
Alle benutzerdefinierten Debugger-Visualizer müssen von dieser Klasse abgeleitet werden und einen parameterlosen Konstruktor bereitstellen, der von VS aufgerufen werden kann. |
VisualizerDevelopmentHost |
Hostklasse zum Testen während der Entwicklung der verwalteten benutzerdefinierten Schnellansicht. |
VisualizerObjectSource |
Ermöglicht den Zugriff auf das objekt, das visualisiert wird. |
VisualizerObjectSourceException |
Stellt eine Ausnahme dar, die von der Debuggee-Seite ausgelöst wird – über die EE, die Visualizer-Infrastruktur (Debuggee-Host) oder den Debuggee-Benutzercode, und sie wird auf der Benutzeroberflächenseite ausgelöst (abfangbar von DialogDebuggerVisualizer). Es ist ein grobes UI-Äquivalent von Microsoft.VisualStudio.VIL.VisualStudioHost.DebuggeeVisualizerException. |
Schnittstellen
IAsyncVisualizerObjectProvider |
Stellt eine asynchrone Implementierung für die in IVisualizerObjectProvider2 definierten Methoden bereit, die Funktionen zum Übergeben von Daten vom Debugempfänger an die Visualisierung bereitstellen und umgekehrt. |
IDeserializableObject |
Schnittstelle zum Deserialisieren von Objekten, wenn das zugrunde liegende Format (binär oder JSON) nicht bekannt ist. |
IDialogVisualizerService |
Stellt Methoden bereit, die eine Schnellansicht aufrufen kann, um System.Windows Forms, Dialoge und Steuerelemente anzuzeigen. |
IVisualizerObjectProvider |
Stellt Objektdaten vom Debuggee an die Schnellansicht bereit. |
IVisualizerObjectProvider2 |
Stellt zusätzliche Funktionen bereit, um Daten vom Debuggee an die Visualizer zu übergeben. |
IVisualizerObjectProvider3 |
Ermöglicht debugger- und debuggee-seitenkomponenten der Visualizer koordinieren, für welchen Serialisierungsmechanismus verwendet werden soll, und bietet zusätzliche Funktionen zum Übergeben von Daten an die Debuggee-Seite unter Berücksichtigung von SelectedFormatterPolicy. |
Enumerationen
FormatterPolicy |
Der Formatierungsstil, der beim Serialisieren/Deserialisieren von Informationen aus der VisualizerObjectSource verwendet werden soll. |
Beispiele
public class DebuggerSide : DialogDebuggerVisualizer
{
override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
MessageBox.Show(objectProvider.GetObject().ToString());
}
// . . . Other methods omitted for clarity.
}
Hinweise
Eine Schnellansicht ist ein kleines Programm, das der Visual Studio-Debugger verwendet, um ein Objekt eines bestimmten Datentyps sinnvoll darzustellen. Um ein Objekt zu visualisieren, verwendet eine Schnellansicht Code, der im Debuggerprozess ( debuggerseitig) ausgeführt wird, und Code im zu debuggenden Prozess ( Debuggee-Seite).
Debuggerseite und Debuggee-Seite kommunizieren miteinander über VisualizerObjectSource und IVisualizerObjectProvider.
Die Debuggee-Seite verwendet VisualizerObjectSource , um ein VisualizerObjectSource Objekt für die Debuggerseite anzugeben. Die Debuggerseite fordert diese Informationen an und empfängt diese Informationen, indem Methoden für die IVisualizerObjectProvider Schnittstelle aufgerufen werden.
Eine Schnellansicht kann Daten bearbeiten und anzeigen. Wenn Ihre Schnellansicht das Bearbeiten von Daten unterstützt, müssen Sie die Daten vollständig ersetzen, indem ReplaceData Sie mithilfe von oder TransferObjectDaten aufrufen oder ReplaceObject zurück an die Debuggee TransferData übertragen. Wenn Sie Daten zurückspeichern möchten, müssen Sie auch Ihre eigene Objektquelle erstellen.