Debuggerkomponenten

Der Visual Studio Debugger ist als VSPackage implementiert und verwaltet die gesamte Debug-Session. Die Debugging-Session besteht aus den folgenden Elementen:

  • Debuggen eines Pakets: Der Visual Studio-Debugger bietet die gleiche Benutzeroberfläche, unabhängig davon, was debuggt wird.

  • Session Debug Manager (SDM): Bietet eine konsistente programmatische Schnittstelle zum Visual Studio Debugger für die Verwaltung einer Vielzahl von Debug Engines. Es wird von Visual Studio implementiert.

  • Process Debug Manager (PDM): Verwaltet für alle laufenden Instanzen von Visual Studio eine Liste aller Programme, die debugged werden können oder gerade debugged werden. Es wird von Visual Studio implementiert.

  • Debug Engine (DE): Ist verantwortlich für die Überwachung eines Programms, das debuggt wird, übermittelt den Zustand des laufenden Programms an den SDM und den PDM und interagiert mit dem Ausdrucksauswerter und dem Symbolanbieter, um eine Echtzeitanalyse des Zustands des Programmspeichers und der Variablen zu ermöglichen. Sie wird von Visual Studio (für die von ihm unterstützten Sprachen) und von Drittanbietern implementiert, die ihre eigene Laufzeit unterstützen möchten.

  • Expression Evaluator (EE): Bietet Unterstützung für die dynamische Auswertung von Variablen und Ausdrücken, die vom Benutzer eingegeben werden, wenn ein Programm an einer bestimmten Stelle angehalten wurde. Es wird von Visual Studio (für die von ihm unterstützten Sprachen) und von Drittanbietern implementiert, die ihre eigenen Sprachen unterstützen möchten.

  • Symbol Provider (SP): Auch Symbolhandler genannt, ordnet die Debugging-Symbole eines Programms einer laufenden Instanz des Programms zu, so dass sinnvolle Informationen bereitgestellt werden können (z. B. Debugging auf Quellcode-Ebene und Ausdrucksauswertung). Er wird von Visual Studio (für die Common Language Runtime [CLR]-Symbole und das Programm DataBase [PDB]-Symboldateiformat) und von Drittanbietern implementiert, die ihre eigene proprietäre Methode zur Speicherung von Debugging-Informationen haben.

    Das folgende Diagramm zeigt die Beziehung zwischen diesen Elementen des Visual Studio-Debuggers.

    Überblick über die Debugging-Komponenten

In diesem Abschnitt

Debuggen eines Pakets Erläutert das Debuggen eines Pakets, das in der Visual Studio-Shell ausgeführt wird und die gesamte Benutzeroberfläche verwaltet.

Process Debug Manager Bietet einen Überblick über die Funktionen des PDM, dem Manager der Prozesse, die debuggt werden können.

Session Debug Manager Definiert den SDM, der der IDE eine einheitliche Ansicht der Debug-Session bietet. Der SDM verwaltet das DE.

Debug Engine Dokumentiert die Debugging-Dienste, die der DE bereitstellt.

Betriebsmodi Bietet einen Überblick über die drei Modi, in denen die IDE arbeiten kann: Entwurfsmodus, Betriebsmodus und Pausenmodus. Auch Übergangsmechanismen werden erörtert.

Expression Evaluator Erläutert den Zweck der EE zur Laufzeit.

Symbol Provider Erläutert, wie der Symbolanbieter bei der Implementierung Variablen und Ausdrücke auswertet.

Typ-Visualisierer und benutzerdefinierter Viewer Erläutert, was ein Typ-Visualisierer und ein benutzerdefinierter Viewer sind und welche Rolle der Expression Evaluator bei der Unterstützung beider spielt.

Debuggerkonzepte beschreibt die wichtigsten Architekturkonzepte für das Debuggen.

Debuggerkontexte erläutert, wie die DE gleichzeitig innerhalb von Code-, Dokumentations- und Ausdrucksauswertungskontexten funktioniert. Es wird für jeden der drei Kontexte der Speicherort, die Position oder die Auswertung beschrieben, der bzw. die für ihn relevant ist.

Debug-Aufgaben Enthält Links zu verschiedenen Debug-Aufgaben, wie z. B. das Starten eines Programms und das Auswerten von Ausdrücken.

Weitere Informationen