Watchpoints werden verwendet, um den Inhalt einzelner Variablen zu überwachen. Der Debugger hält an, wenn sich der Wert der überwachten Variable ändert. Watchpoints dienen auch zur Angabe von Bedingungen für den Variableninhalt. In diesem Fall stoppt der Debugger, wenn die Bedingung erfüllt wird.
...
1. Um einen Watchpoint anzulegen, wählen Sie Breakpoints → Watchpoint anlegen.
Sie gelangen auf ein Dialogfenster.
2. Geben Sie in das Eingabefeld Variable den Namen der Variable ein, die Sie überwachen möchten.
Es sind alle
denkbaren ABAP-Datenstrukturen erlaubt, aber Sie können keine Objekte und
anonymen Datenobjekte (Datenreferenzen) überwachen.
Sie können nur Watchpoints auf Variablen des aktuellen Programms
setzen.
Wenn Sie den Cursor auf eine Variable positionieren, bevor Sie Watchpoint anlegen wählen, wird diese Variable als Standardwert in das Eingabefeld Variable übernommen.
3. Um den Typ der Variable in das Eingabefeld Typ zu übernehmen, wählen Sie mit dem Quick-Info-Text Überprüfen.
4. Bei lokalen Variablen geben Sie an, ob der Watchpoint nur für die aktuelle Modulinstanz oder für alle Modulinstanzen, die in der Folge erreicht werden, gelten soll.
5. Um zusätzliche Überwachungsbedingungen festzulegen, wählen Sie mit dem Quick-Info-Text Bedingung einblenden.
6. Geben Sie in das Eingabefeld Freie Bedingungseingabe eine beliebige Bedingung ein.
Die Syntax der Bedingung muss folgendem Muster entsprechen: <Funktion( Variable ) oder Variable> <Operator> <Funktion( Variable ) oder Variable>.
Folgende Funktionen stehen zur Verfügung:
○ LINES( ITAB )
Anzahl der Tabellenzeilen von ITAB, wobei ITAB eine interne Tabelle ist.
○ STRLEN( S )
Aktuelle Länge von S, wobei S ein String ist.
sy-index > 5
sy-index = sy-tabix
lines( itab ) > 0
lines( itab ) <> sy-tabix
lines( itab1 ) < lines( itab2 )
strlen( s ) >= sy-index
7. Um mehrere Watchpoints gleichzeitig anzulegen, wählen Sie mit dem Quick-Info-Text Übertragen.
Das System legt die von Ihnen angegebenen Watchpoints an und setzt alle Felder des Dialogfensters zurück, so dass Sie Daten für weitere Watchpoints eingeben können.
8. Wählen Sie Weiter.
Wenn Sie einen Watchpoint setzen, erstellt das System ein Duplikat des Originaldatenobjekts. Wenn Sie einen Watchpoint auf eine große interne Tabelle setzen, müssen Sie mit erhöhtem Speicherverbauch während der Programmlaufzeit rechnen. Bei sehr großen internen Tabellen kann dies zu Speicherengpässen führen.
Wenn Sie einen Watchpoint angelegt haben, wird der Wert der Variable überwacht.
Sobald nach einem Debug-Schritt eine Änderung am Inhalt der Variable festgestellt und alle eventuell gesetzten Bedingungen erfüllt sind, hält der Debugger an, und Sie erhalten die Meldung Watchpoint wurde erreicht (<Variable>).