Skip to main content

BreakpointEdit

Struct BreakpointEdit 

Source
pub struct BreakpointEdit<'a> { /* private fields */ }
Expand description

A breakpoint-editing session.

This enables updating breakpoint state (setting or unsetting individual breakpoints or the store-global single-step flag) in a batch. It is more efficient to batch these updates because “re-publishing” the newly patched code, with update breakpoint settings, typically requires a syscall to re-enable execute permissions.

Implementations§

Source§

impl<'a> BreakpointEdit<'a>

Source

pub fn add_breakpoint(&mut self, module: &Module, pc: u32) -> Result<(), Error>

Add a breakpoint in the given module at the given PC in that module.

If the requested PC does not fall exactly on an opcode boundary, the breakpoint is “slipped” forward to the next available opcode PC.

No effect if the breakpoint is already set.

Source

pub fn remove_breakpoint( &mut self, module: &Module, pc: u32, ) -> Result<(), Error>

Remove a breakpoint in the given module at the given PC in that module.

No effect if the breakpoint was not set.

Source

pub fn single_step(&mut self, enabled: bool) -> Result<(), Error>

Turn on or off single-step mode.

In single-step mode, a breakpoint event is emitted at every Wasm PC.

Trait Implementations§

Source§

impl<'a> Drop for BreakpointEdit<'a>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for BreakpointEdit<'a>

§

impl<'a> !RefUnwindSafe for BreakpointEdit<'a>

§

impl<'a> Send for BreakpointEdit<'a>

§

impl<'a> Sync for BreakpointEdit<'a>

§

impl<'a> Unpin for BreakpointEdit<'a>

§

impl<'a> !UnwindSafe for BreakpointEdit<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more