Freigeben über


Breakpoints

Die Debugger-Engine kann Haltepunkte im Ziel erstellen und überwachen.

Es gibt zwei Arten von Haltepunkten, die das Modul in ein Ziel einfügen kann: Software-Breakpoints und Prozessor-Breakpoints.

  • Software-Breakpoints werden in den Code des Ziels eingefügt, indem die Prozessoranweisung am Speicherort des Haltepunkts geändert wird. Die Debugger-Engine verfolgt solche Haltepunkte nach. sie sind für die Clients unsichtbar, die an diesem Standort Lesen und Schreiben von Arbeitsspeicher lesen. Ein Software-Breakpoint wird ausgelöst, wenn das Ziel die geänderte Anweisung ausführt.

  • Prozessor-Breakpoints werden vom Debuggermodul in den Prozessor des Ziels eingefügt. Ein Prozessor-Breakpoint kann durch verschiedene Aktionen ausgelöst werden, z. B. durch Ausführen einer Anweisung am Speicherort (z. B. Software-Breakpoints) oder Lesen oder Schreiben von Arbeitsspeicher am Speicherort des Haltepunkts. Die Unterstützung für Prozessor-Breakpoints hängt vom Prozessor auf dem Computer des Ziels ab.

Die Adresse eines Haltepunkts kann durch eine explizite Adresse, einen Ausdruck, der zu einer Adresse ausgewertet wird, oder durch einen Ausdruck angegeben werden, der zu einem späteren Zeitpunkt für eine Adresse ausgewertet werden kann. Im letzten Fall versucht das Modul jedes Mal, wenn ein Modul im Ziel geladen oder entladen wird, den Ausdruck neu zu bewerten und den Haltepunkt einzufügen, wenn es die Adresse bestimmen kann. Dies ermöglicht es, Haltepunkte in Modulen festzulegen, bevor sie geladen werden.

Eine Reihe von Parametern kann einem Haltepunkt zugeordnet werden, um sein Verhalten zu steuern:

  • Ein Haltepunkt kann einem bestimmten Thread im Ziel zugeordnet werden und wird nur von diesem Thread ausgelöst.

  • Einem Haltepunkt können Debuggerbefehle zugeordnet sein. Diese Befehle werden automatisch ausgeführt, wenn der Haltepunkt ausgelöst wird.

  • Ein Haltepunkt kann als inaktiv gekennzeichnet werden, bis das Ziel ihn mehrmals übergeben hat.

  • Ein Haltepunkt kann automatisch entfernt werden, wenn er zum ersten Mal ausgelöst wird.

Weitere Informationen

Ausführliche Informationen zur Verwendung von Haltepunkten finden Sie unter Verwenden von Haltepunkten.