simvx.ide.dap.client¶
DAP JSON-RPC client – communicates with debugpy over Content-Length framing.
Module Contents¶
Classes¶
Debug Adapter Protocol client using ProcessNode for subprocess I/O. |
Data¶
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.