Freigeben über


Festlegen von Haltepunkten

Haltepunkte werden mit der AddBreakpoint-Methode erstellt. Diese Methode erstellt ein IDebugBreakpoint-Objekt , das den Haltepunkt darstellt. Außerdem wird der Haltepunkttyp (Software-Breakpoint oder Prozessor-Breakpoint) festgelegt. Nachdem ein Haltepunkt erstellt wurde, kann sein Typ nicht mehr geändert werden.

Haltepunkte werden mit der RemoveBreakpoint-Methode gelöscht. Dadurch wird auch das IDebugBreakpoint-Objekt gelöscht. Dieses Objekt kann nicht erneut verwendet werden.

Hinweis Obwohl IDebugBreakpoint die IUnknown-Schnittstelle implementiert, werden die Methoden IUnknown::AddRef und IUnknown::Release nicht verwendet, um die Lebensdauer des Haltepunkts zu steuern. Diese Methoden haben keine Auswirkungen auf die Lebensdauer des Haltepunkts. Stattdessen wird ein IDebugBreakpoint-Objekt gelöscht, nachdem die Methode RemoveBreakpoint aufgerufen wurde.

Wenn der Haltepunkt erstellt wird, erhält er eine eindeutige Breakpoint-ID. Dieser Bezeichner wird nicht geändert. Nachdem der Haltepunkt jedoch gelöscht wurde, kann seine ID für einen anderen Haltepunkt verwendet werden. Ausführliche Informationen zum Empfangen einer Benachrichtigung über das Entfernen eines Haltepunkts finden Sie unter Überwachungsereignisse.

Wenn ein Haltepunkt erstellt wird, wird er zunächst deaktiviert. Dies bedeutet, dass die Ausführung des Ziels nicht beendet wird. Dieser Haltepunkt kann mithilfe der AddFlags-Methode aktiviert werden, um das DEBUG_BREAKPOINT_ENABLED-Flag hinzuzufügen.

Wenn ein Haltepunkt zum ersten Mal erstellt wird, ist der Speicherspeicherort 0x00000000 zugeordnet. Der Speicherort kann mithilfe von SetOffset mit einer Adresse oder mithilfe von SetOffsetExpression mit einem symbolischen Ausdruck geändert werden. Die Position des Haltepunkts sollte vom Anfangswert geändert werden, bevor er verwendet wird.