Kern-Schnittstellen
Die folgenden Schnittstellen sind die wichtigsten Schnittstellen zum Erweitern des Debuggers, indem sie Visual Studio SDKverwenden.
Erörterung
Diese Schnittstellen werden hauptsächlich verwendet, um das Debugmodul (DE) zu erstellen. Sie werden hier nach Kategorien organisiert:
Haltepunkte
Kontexte
Kern-Server
Debuggen von Modulen
Dokumente
Ereignisse
Ausdrücke
Arbeitsspeicher
Module
Ports
Prozesse
Programme
Eigenschaften
Stapelrahmen
Threads
Typ-Schnellansichten
Die Entitäten, die die Schnittstellen implementiert werden können, sind:
Modul (Debug) DE
Anschluss-Lieferant (PS)
Ausdrucksauswertung (EE)
GEGEN (Visual Studio)
Haltepunkte
Diese Schnittstellen werden zur Implementierung und zur Nachverfolgung von Haltepunkten verknüpft.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt einen Haltepunkt dar, der an einer bestimmten Speicheradresse gebunden ist. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt an einer bestimmten Speicheradresse gebunden ist. |
|
GEGEN |
Stellt eine Anforderung Haltepunkt für eine prüfsumme Dokumente dar. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt an einer bestimmten Speicheradresse nicht gebunden werden kann. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt erreicht wird. |
|
GEGEN |
Stellt eine Anforderung für einen Haltepunkt dar. verwendet, wenn ein anstehender Haltepunkt erstellt wird. |
|
GEGEN |
Stellt eine Anforderung für einen Haltepunkt dar. verwendet, wenn ein anstehender Haltepunkt erstellt wird. |
|
DE |
Stellt die Informationen dar, die verwendet werden, um einen Haltepunkt zu binden. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt an einer bestimmten Speicheradresse ungebunden ist. |
|
DE |
Stellt einen ungültigen Haltepunkt dar (zurückgegeben von IDebugBreakpointErrorEvent2). |
|
DE |
Stellt die Auflösungs zu einem ungültigen Haltepunkt dar. |
|
DE |
Stellt eine Position in einer Funktion dar, bei der ein Haltepunkt festgelegt wird. |
|
DE |
Stellt einen Haltepunkt dar, der gebunden werden soll. verwendet, wenn ein gebundener Haltepunkt erstellt wird. |
|
DE |
Stellt eine Enumeration über einen Satz von gebundenen Haltepunkte dar. |
|
DE |
Stellt eine Enumeration über einen Satz von Haltepunkten dar, die nicht an einer bestimmten Speicheradresse gebunden werden können. |
Kontexte
Diese Schnittstellen stellen verschiedene Arten von Kontexten innerhalb des Programms, das gedebuggt wird.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt die Startposition einer Code Anweisung dar. |
|
DE |
Erweitert die IDebugCodeContext2-Schnittstelle, um den Abruf des Moduls und der Prozess Schnittstellen zu aktivieren. |
|
GEGEN, DE |
Stellt eine Position in einem Dokument dar. |
|
DE |
Stellt den Kontext dar, in dem ein Ausdruck ausgewertet werden. |
|
DE |
Stellt die Anfangsposition auf den Gedenken an eine Auflistung von Bytes dar. |
|
DE |
Stellt einen Stapelrahmen Elementkontext an einem Haltepunkt oder einer Ausnahme dar. |
|
DE |
Stellt einen Stapelrahmen Elementkontext an einem Haltepunkt oder einer Ausnahme dar. |
|
DE |
Stellt eine Enumeration über einen Satz von Code kontexten dar. |
Kern-Server
Diese Schnittstellen stellen den Computer an, auf dem ein Programm gedebuggt wird. Diese werden implementiert, über Visual Studio kann jedoch in Modulen Debuggen von aufgerufen werden.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
GEGEN |
Stellt Zugriff auf die Ports und Anschlusslieferanten sowie Informationen über den Computer bereit. |
|
GEGEN |
Stellt IDebugCoreServer2 dar, das Remotedebuggen unterstützt. |
Debuggen von Modulen
Diese Schnittstellen stellen die Module und ihre zugeordneten Ereignisse dar.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt ein benutzerdefiniertes Debuggen Modul dar. |
|
DE |
Stellt ein benutzerdefiniertes Debuggen Modul dar, das Laden von Symbolen, JustMyCode und Ausnahmen unterstützt. |
|
DE |
Gesendet durch jede neue Instanz DEs, um es ist angegeben, werden von Debuggen zu behandeln. |
|
DE |
Stellt ein benutzerdefiniertes Modul dar, das Debuggen starten programme unterstützt. |
|
PS, DE |
Stellt einen Knoten dar, der Programmierung von Modulen, die mehrere behandelt. |
|
DE |
Stellt eine Methode bereit, mit denen das SDM eine Schnittstelle zum Debuggen von Modul aus einem Thread, einem Programm oder einem Stapelrahmen abgerufen wird. |
Dokumente
Diese Schnittstellen stellen Dokumente (Quelldateien) und die zugehörigen Elemente dar.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Gesendet von DE, um ein Dokument geöffnet werden soll. |
|
DE |
Stellt einen Stream von disassemblierten Anweisungen aus einem Dokument dar. |
|
GEGEN, DE |
Stellt ein Dokument dar, das von DE angegeben wird, und gibt den Namen und die Klassen-ID (CLSID). |
|
EE, DE |
Stellt eine Prüfsumme für eine Debug- Dokument dar und ermöglicht die Übergabe der Prüfsumme zwischen Komponenten. |
|
GEGEN, DE |
Stellt einen Dokumentenkontext, eine Position in einem Dokument entsprechend einem bestimmten Anweisungen und Code Elementkontext dar. |
|
GEGEN, DE |
Stellt eine allgemeine Position in einem Dokument dar. |
|
GEGEN |
Stellt eine Position in einer Quelldatei als Zeichenoffset dar. |
|
GEGEN, DE |
Stellt ein Textdokument dar, das von DE angegeben ist (abgeleitet von IDebugDocument2) und gibt den tatsächlichen Text an. |
|
DE |
Gesendet von DE, um Änderungen in einer Quelldatei anzugeben, die im Arbeitsspeicher ist. |
Ereignisse
Diese Schnittstellen stellen alle Ereignisse dar, die zwischen Debug- und dem DE Manager der Sitzung (SDM) gesendet werden.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Gesendet von DE, um ein Dokument geöffnet werden soll. |
|
DE |
Das Debugmodul (DE) sendet diese Schnittstelle zum Debuggen von Manager der Sitzung (SDM), um die Auslastung Symbol während der für eine Statusleiste festzulegen. |
|
DE |
Gesendet von DE, wenn eine Unterbrechung im Programm abgeschlossen wurde. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt gebunden ist. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt gebunden werden kann. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt erreicht wird. |
|
DE |
Gesendet von DE, wenn ein Haltepunkt ungebunden ist. |
|
DE |
Gesendet von DE, um zu bestimmen, ob es an einer bestimmten Stelle aufhören soll. |
|
DE |
Gesendet von DE, um Änderungen in einer Quelldatei anzugeben, die im Arbeitsspeicher ist. |
|
DE |
Gesendet durch jede neue Instanz DEs, um es ist angegeben, werden von Debuggen zu behandeln. |
|
DE |
Gesendet von DE anzugeben ist, um das Programm, das gedebuggt wird, die erste Anweisung auszuführen. |
|
DE |
Eine Schnittstelle, die von anderen Ereignisschnittstellen zurückgäben verwendet wird, die möglicherweise einen Fehler, eine lesbare Fehlermeldungen bereitstellen. |
|
PS, DE |
Basisschnittstelle, von der alle anderen Ereignisschnittstellen abgeleitet sind. |
|
GEGEN |
Stellt eine Schnittstelle dar, die vom SDM implementiert wird, auf dem die Ereignisse (ausgedrückt als Objekte, die eine bestimmte Ereignisschnittstelle implementiert) gesendet werden. |
|
DE |
Gesendet von DE, wenn eine Ausnahme aufgetreten ist im Programm, das gedebuggt wird. |
|
DE |
Gesendet von DE, wenn eine asynchrone Ausdrucksauswertung abgeschlossen ist. |
|
IDebugFindSymbolEvent2 |
|
VERALTET. NOT TUN USE. |
DE |
Gesendet von DE, wenn die Verarbeitung für eine abgefangene Ausnahme abgeschlossen wurde. |
|
DE |
Gesendet von DE, wenn ein Programm Ladevorgang abgeschlossen hat. |
|
DE |
Gesendet von DE, um die IDE-Anzeige eine Informationsmeldung an den Benutzer haben. |
|
DE |
Gesendet von DE, wenn ein Modul geladen oder entladen wird. |
|
DE |
Signalisiert den Visual Studio Debugger Benutzeroberfläche, um den Benutzer zu warnen, dass keine Symbole für die gestartete ausführbare Datei befinden können. |
|
DE |
Gesendet von DE, um die IDE-Anzeige eine beliebige Zeichenfolge sein. |
|
GEGEN, DE |
Gesendet von Ereignissen Port, um einen Port zu einem Listener zu übermitteln. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Prozess erstellt wurde. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Vorgang zerstört wurde. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Programm erstellt wurde. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Programm zerstört wurde. |
|
DE |
Aktiviert eine Debug- Modul, das Standardverhalten des Visual Studio Benutzeroberfläche zu überschreiben, wenn Sie eine Debugsitzung beenden. |
|
DE |
Gesendet vom Modul (Debuggen) für die DE Debuggen Manager der Sitzung (SDM), wenn der Name eines Programms geändert wird. |
|
DE |
Gesendet von DE, wenn eine neue Eigenschaft (dargestellt durch die IDebugProperty2-Schnittstelle) erstellt wurde. |
|
DE |
Gesendet von DE, wenn eine Eigenschaft zerstört wurde. |
|
DE |
Gesendet von DE, wenn die schrittweise Ausführung oder über den Rückgabewert einer Funktion heraus deshalb richtig angezeigt werden kann. |
|
GEGEN |
Aktiviert Debuggen von Modulen, um metrische Einstellungen remote zu lesen. |
|
DE |
Gesendet von DE, wenn ein Schritt, über eine Anweisung oder ein Paket abgeschlossen wurde. |
|
DE |
Gesendet von DE, um den Erfolg oder Fehler der Symbole für ein Modul geladen wird. |
|
DE |
Gesendet von DE, wenn ein Thread erstellt wurde. |
|
DE |
Gesendet von DE, wenn ein Thread zerstört wurde. |
|
DE |
Gesendet von DE, wenn ein Thread seinen Namen geändert hat. |
Ausdrücke
Diese Schnittstellen stellen die in einem bestimmten Kontext dar, der Ausdrücke ausgewertet werden soll.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt einen Ausdruck dar, der ausgewertet werden soll. Abrufen von der IDebugExpressionContext2-Schnittstelle. |
|
DE |
Stellt einen Kontext dar, in dem ein Ausdruck ausgewertet wird. Abrufen von der IDebugStackFrame2-Schnittstelle. |
|
DE |
Gesendet von DE, wenn eine asynchrone Ausdrucksauswertung abgeschlossen ist. |
Arbeitsspeicher
Diese Schnittstellen stellen Bytefolgen im Arbeitsspeicher dar.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt eine Folge von Bytes im Speicher dar, aus dem gelesen bzw. geschrieben werden kann. |
|
DE |
Stellt einen Speicherort für das Gedenken an eine Bytefolge dar. |
Module
Diese Schnittstellen stellen ein Modul dar, das in eine ausführbare Datei oder DLL entspricht.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt eine einzelne ausführbare Datei oder DLL dar. |
|
DE |
Stellt IDebugModule2 dar, die Symbole unterstützt. |
|
DE |
Gesendet von DE, wenn ein Modul geladen oder entladen wird. |
|
DE |
Der Quellserver Stellt die Informationen dar, die in einer PDB-Datei enthalten ist. |
|
DE |
Stellt eine Enumeration über einen Satz von Modulen dar, die von IDebugProgram2bekannt ist. |
Ports
Diese Schnittstellen stellen Ports und Anschlusslieferanten dar.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
PS, GEGEN |
Stellt den standardmäßigen Anschluss auf dem lokalen Computer dar. |
|
GEGEN |
Aktiviert eine Debug- Modul DCOM verwendet wird, um das Visual Studio Benutzeroberfläche zu bitten, um sicherzustellen, dass die Firewall das Remotedebuggen nicht blockiert. |
|
PS, GEGEN |
Stellt einen Anschluss dar. |
|
PS |
Gesendet von Ereignissen Port, um einen Port zu einem Listener zu übermitteln. |
|
PS |
Stellt einen Anschluss dar, der gestartet und Prozesse beenden kann. |
|
PS |
Wird verwendet, um Programme mit einem Anschluss registrieren bzw. deren Registrierung aufheben kann. erlaubt den Port an den Titel programmen, die momentan gedebuggt werden. |
|
PS |
Stellt eine benutzerdefinierte Benutzeroberfläche zum Auswählen des Ports dar. |
|
GEGEN |
Stellt eine Anforderung dar, die einen Port, aus dem ein neuer Port erstellt und gespeichert wird. |
|
PS |
Stellt einen Lieferanten von Ports dar. |
|
PS |
Stellt einen Lieferanten von Ports dar, die auf dem Datenträger speichern () Informationen über die Ports beibehalten können, die sie erstellt hat. |
|
PS |
Aktiviert das Visual Studio Benutzeroberfläche, um Text innerhalb des ÜbertragungsinformationenAn den Prozess anhängen-Abschnitt des Dialogfelds angezeigt. |
|
GEGEN |
Behält die Abfragen Informationen über den Zielcomputer. |
|
PS, GEGEN |
Stellt eine Enumeration über einen Satz von Ports dar. |
|
GEGEN |
Stellt eine Enumeration zu einem Satz Anschlusslieferanten dar. |
Prozesse
Diese Schnittstellen stellen Prozesse, eine einzelne ausführbare Datei dar, die eine oder mehrere Programme enthält.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
PS, DE |
Stellt einen Prozess dar, der auf einem Computer ausgeführt wird. |
|
PS, DE |
Stellt einen Prozess dar, der aktiv das Debuggen unterstützt (verwendet, um Schritt zu ersetzen, Methoden der Schnittstelle IDebugProgram2 fortzusetzen und auszuführen). |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Prozess erstellt wurde. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Vorgang zerstört wurde. |
|
PS |
Stellt einen Prozess dar, der nachverfolgt werden muss, welche Sitzung an das Objekt angefügt ist. |
|
PS |
Stellt eine Enumeration eines Satzes von Prozessen auf einen Anschluss dar. |
Programme
Diese Schnittstellen stellen Programme, logische Gruppierungen der Ausführung dar, die nicht unbedingt zu einer physischen ausführbaren Datei oder ein Modul entsprechen.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt IDebugProgram2 dar, das in Übereinstimmung mit anderen Programmen bearbeitet werden muss, die gleichzeitig gedebuggt werden. |
|
PS, DE |
Stellt eine logische Gruppierung der Ausführung dar. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Programm erstellt wurde. |
|
PS, DE |
Gesendet von DE oder den Port, wenn ein Programm zerstört wurde. |
|
PS, DE |
Stellt IDebugProgramNode2 dar, das von Debugsymbolinformationen für mehrere Module behandelt werden kann. |
|
PS |
Stellt IDebugProgram2 dar, das erforderlich ist, um nachzuverfolgen, welche Sitzung an das Objekt angefügt ist. |
|
PS, DE |
Stellt IDebugProgram2 dar, das Informationen über den Vorgang kann, in dem es ausgeführt wird. |
|
PS, DE |
Stellt ein Programm, das gedebuggt werden kann. |
|
PS, DE |
Ermöglicht es einem von einem Versuch Knoten Programm benachrichtigt zu werden, wenn der zugeordneten Programm anzufügen. |
|
DE |
Stellt eine Methode bereit, um das Programm zu DE SDM abfragt, die von diesem DE gesteuert werden. |
|
GEGEN |
Wird von DES, um Programme mit dem SDM zu registrieren, um werden sie anzuzeigen. |
|
PS, DE |
Stellt IDebugProgramNode2 dar, das Schnittstellen über Thread marshallen kann oder Grenzen verarbeitet. |
|
PS, DE |
Stellt eine Enumeration eines Satzes von Programmen dar. |
Eigenschaften
Diese Schnittstellen stellen Eigenschaften, einen Wert dar, der einem bestimmten Kontext, in der Regel das Ergebnis von einer Ausdrucksauswertung zugeordnet ist.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
EE |
Stellt IDebugProperty2 dar, das seinen Wert auf eine benutzerdefinierte Weise anzeigen kann. |
|
DE |
Erstellt einen Wert eines Stapelrahmens, eines Dokuments oder des Ergebnisses einer Ausdrucksauswertung dar. |
|
DE |
Stellt IDebugProperty2 dar, das willkürlich langer Zeichenfolgen unterstützt. |
|
DE |
Gesendet von DE, wenn eine neue Eigenschaft (dargestellt durch die IDebugProperty2-Schnittstelle) erstellt wurde. |
|
DE |
Gesendet von DE, wenn eine Eigenschaft zerstört wurde. |
|
DE |
Stellt einen Verweis auf eine Eigenschaft dar, die außerhalb eines bestimmten Stapelrahmens vorhanden sein kann. |
|
DE |
Stellt eine Enumeration zu einem Satz DEBUG_PROPERTY_INFORMATION Strukturen dar, die Variablen, Register, Parameter und Ausdrücke beschrieben werden. |
|
DE |
Stellt eine Enumeration zu einem Satz DEBUG_REFERENCE_INFORMATION Strukturen dar. |
Stapelrahmen
Diese Schnittstellen stellen einen Stapelrahmen, einen Kontext dar, in dem ein Haltepunkt oder eine Ausnahme aufgetreten ist.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt einen Kontext dar, in dem ein Haltepunkt oder eine Ausnahme aufgetreten ist. |
|
DE |
Stellt IDebugStackFrame2 dar, die abgefangene Ausnahmen behandeln kann. |
|
DE |
Stellt eine Enumeration zu dem Satz von CODE_PATH Strukturen Funktionsaufruf dar, die die Zeichenfolge angeben, die verwendet wird, um zu einem bestimmten Stapelrahmen abzurufen. |
|
DE |
Stellt eine Enumeration zu einem Satz FRAMEINFO Strukturen dar, die Stapelrahmen beschreiben. |
Threads
Diese Schnittstellen stellen Threads und die zugehörigen Ereignisse dar.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
DE |
Stellt einen Ausführungsthread dar. |
|
DE |
Gesendet von DE, wenn ein Thread erstellt wurde. |
|
DE |
Gesendet von DE, wenn ein Thread zerstört wurde. |
|
DE |
Gesendet von DE, wenn ein Thread seinen Namen geändert hat. |
|
DE |
Stellt eine Enumeration über einen Satz von Threads dar. |
Typ-Schnellansichten
Diese Schnittstellen bieten Unterstützung für den Typ schnellansichten. Diese Schnittstellen werden in der Regel von einer Ausdrucksauswertung implementiert.
Schnittstelle |
Vorbei implementiert |
Beschreibung |
---|---|---|
EE |
Stellt ein dar schnellansicht Typ einer Bytearray dargestellt werden soll. |
|
EE |
Stellt Methoden zum Abrufen des Zugriffs auf die zu einer Typ schnellansicht Daten übergeben werden sollen. |
|
EE |
Stellt eine Eigenschaft dar, die Zugriff auf IPropertyProxyEESide Implementierungen bietet. |
Siehe auch
Referenz
API-Referenz (Visual Studio-Debugging)