pub struct VmSnapshot {
pub index: u64,
pub ip: usize,
pub sp: usize,
pub call_depth: usize,
pub function_id: Option<u16>,
pub function_name: Option<String>,
pub instruction_count: u64,
pub stack_snapshot: Vec<ValueWord>,
pub module_bindings: Vec<ValueWord>,
pub reason: CaptureReason,
}Expand description
A snapshot of VM state at a point in time.
Fields§
§index: u64Monotonically increasing snapshot index.
ip: usizeInstruction pointer at time of capture.
sp: usizeStack pointer at time of capture.
call_depth: usizeCall stack depth at time of capture.
function_id: Option<u16>Function being executed (if known).
function_name: Option<String>Function name (if known).
instruction_count: u64Instruction count at time of capture.
stack_snapshot: Vec<ValueWord>Copy of the stack up to sp.
module_bindings: Vec<ValueWord>Module bindings snapshot.
reason: CaptureReasonCapture reason for display/debugging.
Trait Implementations§
Source§impl Clone for VmSnapshot
impl Clone for VmSnapshot
Source§fn clone(&self) -> VmSnapshot
fn clone(&self) -> VmSnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VmSnapshot
impl RefUnwindSafe for VmSnapshot
impl Send for VmSnapshot
impl Sync for VmSnapshot
impl Unpin for VmSnapshot
impl UnsafeUnpin for VmSnapshot
impl UnwindSafe for VmSnapshot
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 more