Freigeben über


Breakpoint-Verknüpfte Methoden

Ein Modul (Debug) muss DE die Einstellung von Haltepunkten unterstützen. Visual Studio-Debugunterstützung die folgenden Typen von Haltepunkten:

  • Gebunden

    Angefordert von der Benutzeroberfläche und an einem angegebenen Speicherort der Code erfolgreich gebunden

  • Schwebend

    Angefordert von der Benutzeroberfläche jedoch den tatsächlichen Anweisungen noch nicht gebundener

Erörterung

Ein anstehender Haltepunkt tritt beispielsweise auf, wenn die Anweisungen noch nicht geladen werden. Wenn der Code geladen wird, versuchen auf Code ausstehender Haltepunkte am Speicherort vorgeschriebenen d. h. auf Einfügungs-Unterbrechungs Anweisungen im Code zu binden. Ereignisse werden dem Debuggen von Manager der Sitzung (SDM), um erfolgreichen Bindung anzugeben gesendet oder zu benachrichtigen, dass eine Bindung Fehler aufgetreten ist.

Ein anstehender Haltepunkt verwaltet auch eigene interne Liste der zugehörigen gebundenen Haltepunkte. Ein anstehender Haltepunkt kann die Einfügung mehrerer Haltepunkte im Code verursachen. Das Visual Studio debuggen, die Benutzeroberfläche zeigt eine Strukturansicht eines anstehenden Haltepunkten und ihre entsprechenden gebundenen Haltepunkte an.

Erstellung und Verwendung von anstehenden Haltepunkts erfordern die Implementierung der IDebugEngine2::CreatePendingBreakpoint-Methode sowie der folgenden Methoden aus IDebugPendingBreakpoint2-Schnittstellen.

Methode

Beschreibung

CanBind

Bestimmt, ob ein angegebener anstehender Haltepunkt zu einem Speicherort des Codes gebunden werden kann.

Binden

Bindet einen angegebenen anstehenden Haltepunkt zu einem oder mehreren Code speicherorten.

GetState

Ruft den Zustand eines anstehenden Haltepunkts ab.

GetBreakpointRequest

Ruft den Haltepunkt Anforderungen ab, die verwendet wird, um einen anstehenden Haltepunkt zu erstellen.

Aktivieren

Schaltet den aktivierten Zustand eines anstehenden Haltepunkts.

EnumBoundBreakpoints

Listet alle Haltepunkte aufgelistet, die von einem anstehenden Haltepunkt gebunden sind.

EnumErrorBreakpoints

Listet alle Fehler von Haltepunkten aufgelistet, die von einem anstehenden Haltepunkt auftreten.

Delete

Löscht einen anstehenden Haltepunkt, und alle Haltepunkte, die aus ihm gebunden sind.

Um die gebundenen Haltepunkte Haltepunkte und Fehler aufzulisten, müssen Sie alle Methoden aus IEnumDebugBoundBreakpoints2 und IEnumDebugErrorBreakpoints2implementieren.

Ausstehende Haltepunkte, die an einem Speicherort des Codes binden, benötigen Implementierung der folgenden Methoden IDebugBoundBreakpoint2 .

Methode

Beschreibung

GetPendingBreakpoint

Ruft den anstehenden Haltepunkt ab, der einen Haltepunkt enthält.

GetState

Ruft den Zustand eines gebundenen Haltepunkte ab.

GetBreakpointResolution

Ruft die Auflösung von Haltepunkt ab, die den Haltepunkt beschreibt.

Aktivieren

Aktiviert oder deaktiviert einen Haltepunkt.

Delete

Löscht einen gebundenen Haltepunkt.

Auflösungs- und Anforderungsinformationen erfordern Implementierung der folgenden Methoden IDebugBreakpointResolution2 .

Methode

Beschreibung

GetBreakpointType

Ruft den Typ des Haltepunkts ab, der von einer Auflösung dargestellt wird.

GetResolutionInfo

Ruft den Haltepunkt auflösungs Informationen ab, die den Haltepunkt beschreibt.

Die Behebung der Fehler, die möglicherweise während der Bindung auftreten können, benötigt die Implementierung der folgenden Methoden IDebugErrorBreakpoint2 .

Methode

Beschreibung

GetPendingBreakpoint

Ruft den anstehenden Haltepunkt ab, der einen Fehler breakpoint enthält.

GetBreakpointResolution

Ruft die Auflösung von Fehlern Haltepunkt ab, die den Fehler beschreibt. breakpoint

Die Behebung der Fehler, die möglicherweise während binden auftreten können, benötigt die folgenden Arten von IDebugErrorBreakpointResolution2.

Methode

Beschreibung

GetBreakpointType

Ruft den Typ eines Haltepunkts ab.

GetResolutionInfo

Ruft die Informationen Auflösungs eines Haltepunkts ab.

Das Anzeigen des Quellcodes an einem Haltepunkt müssen Sie die Methoden von IDebugStackFrame2::GetDocumentContext und/oder die Methoden von IDebugStackFrame2::GetCodeContextzu implementieren.

Siehe auch

Konzepte

Ausführungssteuerungs-und Zustands-Auswertung