Skip to main content

DebuggerIntegration

Trait DebuggerIntegration 

Source
pub trait DebuggerIntegration {
Show 14 methods // Required methods fn trace_state(&self); fn debug_break(&self); fn instruction_pointer(&self) -> usize; fn stack_size(&self) -> usize; fn stack_top(&self) -> Option<String>; fn stack_values_vec(&self) -> Vec<String>; fn call_stack_depth(&self) -> usize; fn call_frames(&self) -> &[CallFrame]; fn local_values_vec(&self) -> Vec<String>; fn module_binding_values(&self) -> Vec<(u64, NativeKind)>; fn set_module_binding(&mut self, index: usize, bits: u64, kind: NativeKind); fn set_trace_mode(&mut self, enabled: bool); fn debugger_mut(&mut self) -> Option<&mut VMDebugger>; fn has_debugger(&self) -> bool;
}
Expand description

Debugger integration for VirtualMachine.

Display-only methods (stack_top, stack_values_vec, local_values_vec) return debug-formatted strings (post-§2.7.4: KindedSlot::Debug). Data-flow methods (module_binding_values, set_module_binding) are §2.7.4-deferred pending the parallel-kind track for module bindings.

Required Methods§

Source

fn trace_state(&self)

Trace VM state (for debugging)

Source

fn debug_break(&self)

Trigger a debug break

Source

fn instruction_pointer(&self) -> usize

Get current instruction pointer

Source

fn stack_size(&self) -> usize

Get stack size

Source

fn stack_top(&self) -> Option<String>

Get top of stack as a debug-formatted string (display only).

Source

fn stack_values_vec(&self) -> Vec<String>

Get all stack values as debug-formatted strings (display only).

Source

fn call_stack_depth(&self) -> usize

Get call stack depth

Source

fn call_frames(&self) -> &[CallFrame]

Get call frames (for debugging)

Source

fn local_values_vec(&self) -> Vec<String>

Get local variables as debug-formatted strings (display only).

Source

fn module_binding_values(&self) -> Vec<(u64, NativeKind)>

Get module-binding values for data-flow inspection.

Returns each binding as a (bits, NativeKind) pair via the §2.7.8 parallel-kind track on VirtualMachine.module_bindings / module_binding_kinds. Read-side; no refcount change.

Source

fn set_module_binding(&mut self, index: usize, bits: u64, kind: NativeKind)

Set a module-binding variable by index.

Threads the kinded write through module_binding_write_kinded, which releases the prior occupant via drop_with_kind and installs the new (bits, kind) pair — same retain/release discipline stack_write_kinded enforces for stack slots (ADR-006 §2.7.7 / §2.7.8). Caller transfers in one strong-count share for heap-bearing kinds.

Source

fn set_trace_mode(&mut self, enabled: bool)

Set trace mode

Source

fn debugger_mut(&mut self) -> Option<&mut VMDebugger>

Get mutable reference to debugger

Source

fn has_debugger(&self) -> bool

Check if debugger is enabled

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§