Drive an interactive ABAP debug session
abap_debug_sessionControls an interactive ABAP debugging session to step through code, continue to breakpoints, inspect variables and call stacks, set watchpoints, and end or terminate execution.
Instructions
One move of the program an interactive capture holds (abap_debug with interactive: true), then where it stands — its position, the code around it, the watched variables — so you decide the next move from what you see. step: statement by statement — stepMode over (default), into a call, out to the caller; count steps at once (past 20 they come back as a compact trace), until a line or until a variable changed. continue: run to the next breakpoint or watchpoint (each stop as in abap_debug), or to toLine. inspect: read any variables where it stands (or the whole frame), and the call stack. watch: set a watchpoint on a variable visible here — continue then also stops where it changes (optionally where a condition holds). end: let the program run to its end — or terminate: true to abort it, e.g. before it commits. wait: a move (or a capture) that outlasts its call — ABAP_DEBUGGER_CALL_SECONDS, default 50 s — answers running: true and goes on in the background; wait returns its answer once it is done. The program waits in a work process between calls, so end the session when you are done; it is also released after a while without a call (ABAP_DEBUGGER_IDLE_SECONDS, default 120 s) and after ABAP_DEBUGGER_SESSION_SECONDS (default 15 min). Every answer says how long it has left. Apart from terminate, it never changes variables or the program's flow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hits | No | watch: how many of its changes stop the run (1-50, default 1). | |
| count | No | step: how many steps (default 1; with until and no count: until it holds). More than 20 come back as a compact trace; maxSeconds and maxResultKB bound the run. | |
| stack | No | inspect: include the call stack. | |
| until | No | step: end the steps early, once the program stands on a line of the source they started in, and/or once a variable changed. | |
| action | Yes | step: run statement by statement (stepMode, count, until). continue: run on to the next breakpoint or watchpoint, or to toLine. inspect: read variables or the call stack where the program stands. watch: set a watchpoint — continue then also stops where the variable changes. wait: the answer of a capture or move that outlasted its call (it said running: true). end: let the program run to its end (or terminate it) and close the session; on a capture still running, stop it. | |
| toLine | No | continue: run to this line of the source the program stands in instead of the next breakpoint (it still stops at a breakpoint on the way). | |
| session | No | The session id abap_debug returned (default: your current capture or session). | |
| stepMode | No | step: over (default) stays in the method; into follows a call; out returns to the caller. | |
| variable | No | watch: the variable whose change stops the run (visible where the program stands), e.g. LV_STATUS. | |
| condition | No | watch: stop only where this ABAP condition holds once it changed, e.g. lv_status = 'E'. | |
| terminate | No | end: abort the program where it stands instead of letting it run to its end — e.g. so that it does not commit. Its open database changes are rolled back. | |
| variables | No | step / continue: the variables to watch from now on, read after every step and at every stop (replacing the ones named before). inspect: read these now, structures expanded and tables' first rows (default: every variable of the frame). | |
| maxSeconds | No | step: time budget of this call (default 120); the server's ceiling applies. | |
| maxResultKB | No | Size budget of this answer in KB (default 40); the server's ceiling applies. | |
| timeoutSeconds | No | continue: how long to wait for the next stop (1-900, default 60). |