pub struct DapClient { /* private fields */ }Expand description
A simple DAP protocol client that communicates over TCP.
Implementations§
Source§impl DapClient
impl DapClient
Sourcepub fn connect(addr: &str) -> Result<DapClient, String>
pub fn connect(addr: &str) -> Result<DapClient, String>
Connect to a DAP server at the given address (e.g. “127.0.0.1:4711”).
Sourcepub fn handshake(&mut self) -> Result<DapUiState, String>
pub fn handshake(&mut self) -> Result<DapUiState, String>
Perform the DAP handshake: Initialize + Launch + ConfigurationDone. Waits for the initial Stopped(entry) event and returns the server-pushed UI state snapshot.
Sourcepub fn step_in(&mut self) -> Result<DapStopReason, String>
pub fn step_in(&mut self) -> Result<DapStopReason, String>
Send a StepIn command and wait for a Stopped/Terminated event.
Sourcepub fn step_over(&mut self) -> Result<DapStopReason, String>
pub fn step_over(&mut self) -> Result<DapStopReason, String>
Send a Next (step over) command and wait for a Stopped/Terminated event.
Sourcepub fn step_out(&mut self) -> Result<DapStopReason, String>
pub fn step_out(&mut self) -> Result<DapStopReason, String>
Send a StepOut command and wait for a Stopped/Terminated event.
Sourcepub fn continue_(&mut self) -> Result<DapStopReason, String>
pub fn continue_(&mut self) -> Result<DapStopReason, String>
Send a Continue command and wait for a Stopped/Terminated event.
Sourcepub fn stack_trace(&mut self) -> Result<Vec<StackFrame>, String>
pub fn stack_trace(&mut self) -> Result<Vec<StackFrame>, String>
Query the current stack trace.
Sourcepub fn variables(
&mut self,
variables_reference: i64,
) -> Result<Vec<Variable>, String>
pub fn variables( &mut self, variables_reference: i64, ) -> Result<Vec<Variable>, String>
Query variables for a given scope reference.
Sourcepub fn evaluate(&mut self, expression: &str) -> Result<String, String>
pub fn evaluate(&mut self, expression: &str) -> Result<String, String>
Evaluate a custom expression (e.g. “__miden_state”).
Sourcepub fn read_memory(&mut self, expr: &ReadMemoryExpr) -> Result<String, String>
pub fn read_memory(&mut self, expr: &ReadMemoryExpr) -> Result<String, String>
Read memory from the remote debuggee via the DAP server.
Sourcepub fn set_breakpoints(
&mut self,
path: &str,
lines: &[i64],
) -> Result<(), String>
pub fn set_breakpoints( &mut self, path: &str, lines: &[i64], ) -> Result<(), String>
Set breakpoints for a source file.
Sourcepub fn set_function_breakpoints(
&mut self,
names: &[String],
) -> Result<(), String>
pub fn set_function_breakpoints( &mut self, names: &[String], ) -> Result<(), String>
Set function breakpoints (matched as glob patterns against context names and file paths).
Sourcepub fn restart(&mut self) -> Result<DapStopReason, String>
pub fn restart(&mut self) -> Result<DapStopReason, String>
Send a Restart command and wait for a Stopped event (program restarted at entry).
The server resets the processor to the beginning of the program with the same
inputs and re-emits miden/uiState + Stopped(entry).
Sourcepub fn restart_phase2(&mut self) -> Result<DapStopReason, String>
pub fn restart_phase2(&mut self) -> Result<DapStopReason, String>
Send a Phase 2 restart command (with arguments) and wait for the server’s response.
The server will respond with Terminated(restart=true) and shut down so the caller
can recompile and reconnect.
Sourcepub fn connect_with_retry(
addr: &str,
timeout: Duration,
) -> Result<DapClient, String>
pub fn connect_with_retry( addr: &str, timeout: Duration, ) -> Result<DapClient, String>
Connect to a DAP server with exponential backoff, for Phase 2 reconnection.
Polls with delays from 50ms up to 1s, timing out after timeout.
Sourcepub fn disconnect(&mut self) -> Result<(), String>
pub fn disconnect(&mut self) -> Result<(), String>
Disconnect from the DAP server.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DapClient
impl RefUnwindSafe for DapClient
impl Send for DapClient
impl Sync for DapClient
impl Unpin for DapClient
impl UnsafeUnpin for DapClient
impl UnwindSafe for DapClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more