Haltepunkte setzen und bearbeiten

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu So verwenden Sie den Debugger


Haltepunkte unterbrechen die Programmausführung an einer bestimmten Stelle oder beim Auftreten einer bestimmten Bedingung. Quelltext- und Modulhaltepunkte können vor und während einer Debug-Sitzung im Quelltext-Editor gesetzt werden. Daten- und Adresshaltepunkte können nur gesetzt werden, wenn die Anwendung im Debug-Modus (F9) ausgeführt wird.

Haltepunktsymbole

Während einer Debug-Sitzung wird jede Quelltextzeile, die für einen Haltepunkt in Frage kommt, mit einem blauen Punkt Blauer Punkt in der Leiste am linken Rand des Quelltext-Editors gekennzeichnet.

Sie können Haltepunkte auch für Frames setzen, die im Fenster Aufruf-Stack angezeigt werden. Die Haltepunktsymbole im Fenster Aufruf-Stack entsprechen denen im Quelltext-Editor, außer dass der blaue Punkt Blauer Punkt nur angibt, dass Debug-Informationen für den Frame zur Verfügung stehen, und nicht ob ein Haltepunkt für den Frame gesetzt werden kann.

Haltepunkte werden im Fenster Liste der Haltepunkte angezeigt (Ansicht > Debug-Fenster > Haltepunkte).

Sie können Haltepunktsymbole im Fenster des Quelltext-Editors per Drag&Drop ablegen; ein verschobener Haltepunkt behält die Einstellungen des ursprünglichen Haltepunkts bei. Die folgenden Symbole werden zur Darstellung von Haltepunkten in der Leiste des Quelltext-Editors verwendet.

Symbol Beschreibung

Haltepunkt im Quelltext-Editor

Der Haltepunkt ist gültig und aktiviert. Der Debugger ist nicht aktiv.

Haltepunkt im Debugger

Der Haltepunkt ist gültig und aktiviert. Der Debugger ist aktiv.

Ungültiger Haltepunkt

Der Haltepunkt ist ungültig und aktiviert. Der Haltepunkt wurde an einer ungültigen Position gesetzt, zum Beispiel in einem Kommentar, einer Leerzeile oder einer ungültigen Deklaration.

Deaktivierter Haltepunkt

Der Haltepunkt ist gültig und deaktiviert. Der Debugger ist nicht aktiv.

Deaktivierter Haltepunkt im Debugger

Der Haltepunkt ist gültig und deaktiviert. Der Debugger ist aktiv.

Ungültiger Haltepunkt im Debugger

Der Haltepunkt ist ungültig und deaktiviert. Der Haltepunkt wurde an einer ungültigen Position gesetzt.

So setzen Sie einen Quelltexthaltepunkt:

  1. Wenn Sie im Quelltext-Editor auf die Zeile klicken, in der die Ausführung angehalten werden soll, wird die jeweilige Zeilennummer in das Dialogfeld eingetragen.
  2. Wählen Sie Start > Haltepunkt hinzufügen > Quelltexthaltepunkt, um das Dialogfeld Quelltexthaltepunkt hinzufügen anzuzeigen.

    Tipp: Um die Leiste des Quelltext-Editors zu ändern, wählen Sie Tools > Optionen > Editor-Optionen > Anzeige und passen den Wert im Feld Leistenbreite an.

  3. Das Dialogfeld Quelltexthaltepunkt hinzufügen enthält bereits den Namen der Datei, und der Durchlaufzähler ist auf 0 gesetzt (das bedeutet, dass der Haltepunkt bereits beim ersten Durchlauf aktiviert ist). Geben Sie in das Feld Zeilennummer die Nummer der Zeile im Quelltext-Editor ein, in der der Haltepunkt gesetzt werden soll.
  4. Wenn Sie dem Haltepunkt eine Bedingung hinzufügen möchten, geben Sie den Bedingungsausdruck in das Feld Bedingung ein. Der Bedingungsausdruck wird jedes Mal ausgewertet, wenn der Haltepunkt angelaufen wird, und die Programmausführung wird angehalten, wenn der Ausdruck True ergibt.
  5. Um den Quelltexthaltepunkt einer Haltepunktgruppe zuzuordnen, geben Sie den Namen einer Gruppe ein oder wählen ihn aus der Dropdown-Liste Gruppe aus.
  6. Informationen zum Festlegen von erweiterten Optionen (Weitere) finden Sie in den Hilfethemen zu den Dialogfeldern Adresshaltepunkt hinzufügen oder Datenhaltepunkt hinzufügen.

    Hinweis: Um einen Haltepunkt schnell in einer Quelltextzeile zu setzen, klicken Sie im Quelltext-Editor auf die Leiste links neben der Codezeile, an der die Ausführung unterbrochen werden soll.

So setzen Sie einen Adresshaltepunkt:

  1. Führen Sie die Anwendung im Debug-Modus aus (verwenden Sie dazu z. B. F9, F8, F7 oder F4).
  2. Wählen Sie Start > Haltepunkt hinzufügen > Adresshaltepunkt, um das Dialogfeld Adresshaltepunkt hinzufügen anzuzeigen.
  3. Geben Sie in das Feld Adresse die Speicheradresse (z. B. $00011111) ein, an der der Haltepunkt gesetzt werden soll.
  4. Wenn Sie dem Haltepunkt eine Bedingung hinzufügen möchten, geben Sie den Bedingungsausdruck in das Feld Bedingung ein. Der Bedingungsausdruck wird jedes Mal ausgewertet, wenn der Haltepunkt angelaufen wird, und die Programmausführung wird angehalten, wenn der Ausdruck True ergibt.
  5. Wenn der Adresshaltepunkt erst nach einer bestimmten Anzahl von Durchläufen relevant werden soll, geben Sie in das Feld Durchlaufzähler die gewünschte Anzahl ein.
  6. Um den Adresshaltepunkt zu einer vorhandenen Haltepunktgruppe hinzuzufügen, geben Sie den Gruppennamen in das Feld Gruppe ein, oder wählen Sie den Namen einer vorhandenen Gruppe aus der Dropdown-Liste aus.
  7. Informationen zum Festlegen von erweiterten Optionen (Weitere) finden Sie in den Hilfethemen zu den Dialogfeldern Adresshaltepunkt hinzufügen oder Datenhaltepunkt hinzufügen.

Hinweis: Adresshaltepunkte können auch in der CPU-Ansicht oder der Disassembly-Ansicht durch Klicken auf die Leiste gesetzt werden.

So setzen Sie einen Datenhaltepunkt:

  1. Führen Sie die Anwendung im Debug-Modus aus (verwenden Sie dazu z. B. F9, F8, F7 oder F4).
  2. Wählen Sie Start > Haltepunkt hinzufügen > Datenhaltepunkt, um das Dialogfeld Datenhaltepunkt hinzufügen anzuzeigen.
  3. Geben Sie in das Feld Adresse die Adresse der Daten ein, die als Datenhaltepunkt dienen sollen.
  4. Legen Sie im Feld Länge die Länge des Datenoperanden fest, der den Haltepunkt ausmachen soll. Beachten Sie, dass für die folgenden Situationen eine Warnung angezeigt wird:
    • Die Länge des Datenhaltepunkts sollte keine geraden Byte-Grenzen überlappen. (Für einen Datenhaltepunkt mit einer Länge von 1 Byte bestehen keine Ausrichtungsprobleme, aber Datenhaltepunkte mit 2 und 4 Byte könnten mehr oder weniger Adressen abdecken, als Sie beabsichtigen.)
    • Der Datenhaltepunkt sollte nicht an einer Stack-Position gesetzt werden. (Der Haltepunkt könnte so oft angelaufen werden, dass das Programm nicht ordnungsgemäß ausgeführt werden kann.)
  5. Wenn Sie dem Haltepunkt eine Bedingung hinzufügen möchten, geben Sie den Bedingungsausdruck in das Feld Bedingung ein. Der Bedingungsausdruck wird jedes Mal ausgewertet, wenn der Haltepunkt angelaufen wird, und die Programmausführung wird angehalten, wenn der Ausdruck True ergibt.
  6. Wenn der Haltepunkt erst nach einer bestimmten Anzahl von Durchläufen relevant werden soll, geben Sie in das Feld Durchlaufzähler die gewünschte Anzahl ein.
  7. Um den Datenhaltepunkt zu einer vorhandenen Haltepunktgruppe hinzuzufügen, geben Sie den Gruppennamen in das Feld Gruppe ein, oder wählen Sie den Namen einer vorhandenen Gruppe aus der Dropdown-Liste aus.
  8. Informationen zum Festlegen der erweiterten Optionen (Weitere) finden Sie unter Adresshaltepunkt hinzufügen oder Datenhaltepunkt hinzufügen.

So setzen Sie einen Modulhaltepunkt:

  1. Wählen Sie Start > Haltepunkt hinzufügen > Modulhaltepunkt, um das Dialogfeld Modulhaltepunkt hinzufügen anzuzeigen.
  2. Führen Sie dann einen der folgenden Schritte aus:
    • Geben Sie in das Feld Modulname den Namen der DLL, des Packages oder eines anderen Modultyps ein, den Sie überwachen möchten, oder wählen Sie einen Namen aus der Dropdown-Liste aus, und klicken Sie auf OK.
    • Klicken Sie auf Durchsuchen, um das Dialogfeld Modul auswählen zu öffnen, und suchen Sie nach Modulen von einer anderen Zielplattform. Klicken Sie auf die Dropdown-Liste Module neben dem Feld Dateiname, und wählen Sie den gewünschten Modultyp aus:
      • Module (*.dll, *.ocx, *.bpl, *.exe, *.dylib) {Windows- und Mac-Module}
      • Windows-Module (*.dll, *.ocx, *.bpl, *.exe) {nur Windows-Module}
      • Mac OS X-Module (*.dylib) {nur Mac-Module}
      • Alle Dateien *.*
    Klicken Sie auf Öffnen, um das gewünschte Modul zu öffnen. Der Name wird automatisch in das Dialogfeld Modulhaltepunkt hinzufügen oder bearbeiten eingefügt.

Hinweis: Modulhaltepunkte können auch im Fenster Module gesetzt werden.

Wird das angegebene Modul während der Programmausführung geladen, wird der Modulhaltepunkt angelaufen und die Programmausführung unterbrochen.

So behalten Sie Haltepunkte für weitere Sitzungen bei:

Wenn Sie unter Optionen für Autospeichern die Option Projekt-Desktop aktiviert haben, werden Haltepunkte, die Sie in einem Projekt festgelegt haben, für weitere Sitzungen beibehalten.

  1. Legen Sie die Haltepunkte (und überwachten Ausdrücke) fest, die für weitere Sitzungen beibehalten werden sollen.
  2. Wählen Sie Tools > Optionen > Umgebungsoptionen.
  3. Aktivieren Sie die Autospeichern-Option Projekt-Desktop. Wenn Sie das Produkt beenden oder Ihr Projekt schließen, werden Ihre Desktop-Einstellungen in einer DSK-Datei gespeichert. Beim erneuten Öffnen Ihres Projekts liest das Produkt die DSK-Datei und stellt Ihren gespeicherten Desktop, die Haltepunkte, überwachten Ausdrücke und geöffneten Dateien wieder her.

Sie müssen die DSK-Datei löschen, wenn die gespeicherten Haltepunkte (oder die anderen Elemente, die von der Autospeichern-Option Projekt-Desktop gesteuert werden) in Ihrem Projekt nicht mehr beibehalten werden sollen.

So bearbeiten Sie einen Haltepunkt:

  1. Öffnen Sie das Fenster Liste der Haltepunkte, indem Sie Ansicht > Debug-Fenster > Haltepunkte wählen. Klicken Sie mit der rechten Maustaste auf das Symbol des zu ändernden Haltepunkts. Auf das Symbol eines Quelltexthaltepunkts können Sie in der Leiste des Quelltext-Editors mit der rechten Maustaste klicken und Eigenschaften des Haltepunkts wählen.
  2. Stellen Sie die Optionen im Dialogfeld Eigenschaft des Haltepunkts nach Bedarf ein, um den Haltepunkt zu ändern. Sie können beispielsweise eine Bedingung angeben, eine Haltepunktgruppe definieren oder ein Aktion festlegen, die erfolgen soll, wenn die Ausführung an diesem Haltepunkt angelangt ist.
  3. Klicken Sie auf Hilfe, um weitere Informationen zu den Optionen in diesem Dialogfeld zu erhalten.
  4. Klicken Sie auf OK.

So erstellen Sie eine Haltepunktgruppe

  1. Öffnen Sie das Fenster Liste der Haltepunkte, indem Sie Ansicht > Debug-Fenster > Haltepunkte wählen.
  2. Klicken Sie mit der rechten Maustaste auf den Haltepunkt, und wählen Sie Eigenschaften des Haltepunkts.
  3. Geben Sie zum Erstellen einer Haltepunktgruppe einen Gruppennamen in das Feld Gruppe ein. Um einen Haltepunkt einer vorhandenen Gruppe hinzuzufügen, wählen Sie einen Namen aus der Dropdown-Liste aus.
  4. Klicken Sie auf OK.

So aktivieren oder deaktivieren Sie einen Haltepunkt bzw. eine Haltepunktgruppe:

  1. Klicken Sie mit der rechten Maustaste im Quelltext-Editor oder im Fenster Liste der Haltepunkte auf das Haltepunktsymbol, und wählen Sie Aktiviert, um zwischen Aktivierung und Deaktivierung umzuschalten. In der Liste der Haltepunkte können Sie auf das Kontrollkästchen links neben dem Symbol klicken.
  2. Sollen alle Haltepunkte aktiviert oder deaktiviert werden, klicken Sie mit der rechten Maustaste auf einen leeren Bereich (keinen Haltepunkt) im Fenster Liste der Haltepunkte und wählen Alle einschalten oder Alle ausschalten.
  3. Um eine Gruppe von Haltepunkten zu aktivieren oder zu deaktivieren, klicken Sie mit der rechten Maustaste im Fenster Liste der Haltepunkte auf einen leeren Bereich (nicht auf einen Haltepunkt) und wählen Gruppe aktivieren oder Gruppe deaktivieren.

Tipp: Sie können mit einer der folgenden Tastenkombinationen Haltepunkte aktivieren/deaktivieren:

  • STRG+Klicken auf das Haltepunktsymbol in der Leiste des Quelltext-Editors.
    Ein aktiviertes Haltepunktsymbol, z. B. Breakpoint.bmp, wird in ein deaktiviertes Haltepunktsymbol geändert, z. B. BreakpointDisable.bmp, wenn Sie mit STRG+Klicken zwischen "Aktiviert" und "Deaktiviert" umschalten.
  • Drücken Sie F5.
    Das Haltepunktsymbol wird entfernt, wenn Sie F5 auf einem aktivierten Haltepunkt drücken. Wenn Sie F5 erneut drücken, wird das Haltepunktsymbol wieder angezeigt und aktiviert.

Wenn Sie einen Haltepunkt oder eine Haltepunktgruppe deaktivieren, verhindern Sie damit lediglich, dass die Programmausführung in dieser Quelltextzeile unterbrochen wird. Die Haltepunkte und deren Einstellungen bleiben aber erhalten und lassen sich später jederzeit wieder aktivieren.

So erstellen Sie einen bedingten Haltepunkt:

  1. Wählen Sie Start > Haltepunkt hinzufügen, und wählen Sie den gewünschten Haltepunkttyp aus dem Untermenü aus.
  2. Füllen Sie die Felder im Dialogfeld entsprechend den weiter oben für den jeweiligen Haltepunkttyp angegebenen Beschreibungen aus.
  3. Geben Sie in das Feld Bedingung einen Bedingungsausdruck ein, der jedes Mal ausgewertet werden soll, wenn die Programmausführung an diesen Haltepunkt gelangt. Der Haltepunkt unterbricht die Ausführung, wenn der Ausdruck zu True ausgewertet wird.
  4. Füllen Sie nach Bedarf weitere Felder aus.
  5. Klicken Sie auf OK.

Mit Hilfe von bedingten Haltepunkten können Sie untersuchen, wie sich Ihr Programm verhält, wenn eine Variable einen bestimmten Wert annimmt, oder ein bestimmtes Flag gesetzt ist.

Ergibt die Auswertung des Bedingungsausdrucks True (oder nicht null), unterbricht der Debugger das Programm an der Position dieses Haltepunkts. Ergibt die Auswertung des Ausdrucks False (oder null), unterbricht der Debugger die Ausführung an dieser Haltepunktposition nicht.

So setzen Sie einen Haltepunkt für einen bestimmten Thread:

  1. Wählen Sie Start > Haltepunkt hinzufügen, und wählen Sie den gewünschten Haltepunkttyp aus dem Untermenü aus.
  2. Füllen Sie die Felder im Dialogfeld entsprechend den weiter oben für den jeweiligen Haltepunkttyp angegebenen Beschreibungen aus.
  3. Geben Sie in das Feld Thread die Thread-Nummer (für nummerierte Threads) oder den Thread-Namen (für benannte Threads) ein, oder wählen Sie diese aus der Dropdown-Liste aus.
  4. Füllen Sie nach Bedarf weitere Felder aus.
  5. Klicken Sie auf OK.

So weisen Sie einem Haltepunkt Aktionen zu:

  1. Klicken Sie im Fenster Liste der Haltepunkte mit der rechten Maustaste auf den Haltepunkt, und wählen Sie Eigenschaften des Haltepunkts.
  2. Klicken Sie auf Weitere, um zusätzliche Optionen einzublenden.
  3. Aktivieren Sie diejenigen Aktionen, die erfolgen sollen, wenn die Ausführung an dem betreffenden Haltepunkt angelangt ist. Sie können beispielsweise einen Ausdruck angeben, der ausgewertet werden soll. Das Ergebnis der Auswertung wird in das Ereignisprotokoll übernommen.
  4. Klicken Sie auf OK.

So ändern Sie die Farbe der Haltepunkte oder des Textes an der Ausführungsposition:

  1. Wählen Sie Tools > Optionen > Editor-Optionen > Farbe.
  2. Wählen Sie im Beispiel-Quelltextfenster das Register der betreffenden Programmiersprache aus. Um beispielsweise die Haltepunktfarbe für Object Pascal-Quelltext zu ändern, aktivieren Sie das Register Object Pascal.
  3. Verschieben Sie den Ausschnitt im Beispiel-Quelltextfenster nach rechts, um die Symbole für die Ausführungsposition und die Haltepunkte in der linken Leiste des Fensters anzuzeigen.
  4. Klicken Sie an einer beliebigen Stelle auf die Ausführungspositions- oder Haltepunktezeile, die Sie ändern möchten.
  5. Ändern Sie mithilfe der Listenfelder Vordergrundfarbe und Hintergrundfarbe die Farben für die ausgewählte Ausführungsposition oder den Haltepunkt.
  6. Klicken Sie auf OK.

Hinweis: Sie können Haltepunkte auch in der Liste der Haltepunkte, dem CPU-Fenster (und der Disassembly-Ansicht), der Aufruf-Stack-Ansicht und dem Module-Fenster setzen.

Siehe auch