Expand description
Interactive debugger for stryke programs.
Provides breakpoint-based debugging with single-stepping, variable inspection, and call stack display. Two front-ends share this state machine:
- TTY/CLI (default, via
-d) —prompt()reads commands from stdin and writes to stderr. Same UX asperl -d. - DAP (via
--dap) —prompt()instead routes throughcrate::dap::DapShared, emittingstoppedevents and condvar-waiting for resume. Stdin is owned by the DAP reader thread; the debugger never touches it in DAP mode.
The split is per-instance, not compile-time: Debugger::set_dap_backend
configures the DAP backend. With no backend set, TTY behavior runs.
Structs§
- DapBackend
Handle - Opaque handle into
crate::dap::DapShared+ the shared breakpoint state. Kept asArc<dyn Any>so debugger.rs does not depend on dap.rs at compile time (and tests work without DAP). - Debugger
- Debugger state, shared between VM and interpreter.
Enums§
- Debug
Action - Action to take after debugger prompt.