Execute ABAP Debugger Step
sap_debug_stepAdvance a paused ABAP debug session by stepping over, into, or out of code, continuing to the next breakpoint, or stopping the debuggee.
Instructions
Move the stopped debuggee: stepOver, stepInto, stepOut, stepReturn, continue, or stop.
Requires state='STOPPED'. The call returns when the debuggee stops again — 'continue' therefore BLOCKS for as long as the program runs to its next breakpoint, which can be minutes. Steps run on their own timeout (SAP_DEBUG_STEP_TIMEOUT_MS, default 600000 ms), not the 60s global one.
Args:
session_id (string).
command ('stepOver'|'stepInto'|'stepOut'|'stepReturn'|'continue'|'stop').
response_format.
Returns (json): { sessionId, command, state, program?, include?, line?, reachedBreakpoints?, message }.
state='STOPPED': stopped again; program/line say where, reachedBreakpoints says on which breakpoint.
state='ENDED': the debuggee ran to completion (a NORMAL outcome of 'continue', and the only outcome of 'stop'). The listener stays armed — call sap_debug_wait to catch the next trap, or sap_debug_detach to finish.
state='RUNNING': the step did not come back inside the timeout; the debuggee is probably still running. Check with sap_debug_state or release it with sap_debug_detach.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Step command: 'stepOver' (next line, skip into calls), 'stepInto' (enter called method/form), 'stepOut'/'stepReturn' (run to the end of the current method), 'continue' (release the debuggee until the next breakpoint or the end), 'stop' (terminate the debuggee). | |
| session_id | Yes | Session ID from sap_debug_attach. | |
| response_format | No | Output format: 'markdown' (human-readable, default) or 'json' (structured). | markdown |