Visual Studio Debugger-Erweiterbarkeit
Visual Studio enthält einen vollständig interaktiven Quellcodedebugger, der ein leistungsfähiges und benutzerfreundliches Tool zum Nachverfolgen von Bugs in Ihrem Programm darstellt. Visual Basic, C#, C/C++ und JavaScript werden vom Debugger vollständig unterstützt. Mit dem Visual Studio SDK, das im Microsoft Download Center zur Verfügung steht, können im Debugger jedoch auch andere Programmiersprachen mit den gleichen umfangreichen Features unterstützt werden.
Der Visual Studio-Debugger ist das gemeinsame Front-End (d. h. die Benutzeroberfläche) für die Debugkomponenten, die ihrerseits spezifisch für die zu debuggende Sprache sind. Für neue Sprachen müssen für die Unterstützung durch den Visual Studio-Debugger nur die erforderlichen Back-End-Komponenten, wie z. B. eine Debug-Engine (DE), erstellt werden. An dieser Stelle kommt das Visual Studio SDK ins Spiel.
Das Visual Studio SDK enthält einen vollständigen Verweis auf alle Visual Studio-Elemente, die zum Erstellen einer neuen DE erforderlich sind. Darüber hinaus gibt es Beispiele und Lernprogramme, die Ihnen die ersten Schritte erleichtern.
Ein vollständiges Beispiel für ein Sprachprojektsystem mit Debugunterstützung finden Sie im Beispiel für IronPython.
Die folgenden Abschnitte beschreiben die Vorgehensweise zum Erweitern des Debuggers mit dem Visual Studio SDK.
In diesem Abschnitt
Erste Schritte beschreibt, was Visual Studio Debugging zu bieten hat und wie das SDK installiert wird.
Erstellen einer benutzerdefinierten Debug-Engine dokumentierten den Prozess für die benutzerdefinierte DE, von der Vorbereitung Ihres Programms für eine DE bis zum Ausblenden der DE.
Schreiben einer CLR-Ausdrucksauswertung erläutert, ob Sie eine Ausdrucksauswertung schreiben müssen.
Auswahl einer Implementierungsstrategie für die Debug-Engine erläutert die Vorgehensweise zum Implementieren Ihrer DE.
Referenz dokumentiert die Visual Studio-Debugging-API.
Beispiele enthält Links zu einem Beispiel zur Ausdrucksauswertung für eine Common Language Runtime und einem Beispiel für eine Debug-Engine.