simvx.ide.dap.client

DAP JSON-RPC client – communicates with debugpy over Content-Length framing.

Module Contents

Classes

DAPClient

Debug Adapter Protocol client using ProcessNode for subprocess I/O.

Data

log

API

simvx.ide.dap.client.log

‘getLogger(…)’

class simvx.ide.dap.client.DAPClient(state: simvx.ide.state.IDEState, env: dict[str, str] | None = None)

Debug Adapter Protocol client using ProcessNode for subprocess I/O.

Launches debugpy’s adapter process and exchanges DAP messages over stdin/stdout with Content-Length framing (identical to LSP).

Initialization

start(python: str = 'python')

Launch debugpy adapter and send initialize request.

stop()

Terminate the debug session and adapter process.

launch(program: str, args: list[str] | None = None, cwd: str | None = None)

Launch the target program under the debugger.

set_breakpoints(path: str, lines: list[int])

Set breakpoints for a file (replaces all previous breakpoints in that file).

continue_execution(thread_id: int = 0)
step_over(thread_id: int = 0)
step_into(thread_id: int = 0)
step_out(thread_id: int = 0)
pause(thread_id: int = 0)
get_threads(callback: collections.abc.Callable | None = None)
get_stack_trace(thread_id: int, callback: collections.abc.Callable | None = None)
get_scopes(frame_id: int, callback: collections.abc.Callable | None = None)
get_variables(variables_ref: int, callback: collections.abc.Callable | None = None)
evaluate(expression: str, frame_id: int, callback: collections.abc.Callable | None = None)
configuration_done()

Signal that all initial configuration (breakpoints etc.) has been sent.

property running: bool
property initialized: bool
property configured: bool
process(dt: float)

Tick the underlying ProcessNode to poll I/O.