Skip to main content

HostDebuggee

Trait HostDebuggee 

Source
pub trait HostDebuggee: Send {
    // Required methods
    fn all_modules(
        &mut self,
        self_: Resource<Debuggee>,
    ) -> impl Future<Output = Result<Vec<Resource<Module>>>> + Send;
    fn all_instances(
        &mut self,
        self_: Resource<Debuggee>,
    ) -> impl Future<Output = Result<Vec<Resource<Instance>>>> + Send;
    fn interrupt(
        &mut self,
        self_: Resource<Debuggee>,
    ) -> impl Future<Output = Result<()>> + Send;
    fn single_step(
        &mut self,
        self_: Resource<Debuggee>,
        resumption: ResumptionValue,
    ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send;
    fn continue_(
        &mut self,
        self_: Resource<Debuggee>,
        resumption: ResumptionValue,
    ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send;
    fn exit_frames(
        &mut self,
        self_: Resource<Debuggee>,
    ) -> impl Future<Output = Result<Vec<Resource<Frame>>>> + Send;
    fn drop(
        &mut self,
        rep: Resource<Debuggee>,
    ) -> impl Future<Output = Result<()>> + Send;
}

Required Methods§

Source

fn all_modules( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Module>>>> + Send

List all modules that exist in the Store.

If invoked while already running, causes a trap.

Source

fn all_instances( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Instance>>>> + Send

List of all instances that exist in the Store.

If invoked while already running, causes a trap.

Source

fn interrupt( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<()>> + Send

Force an interruption event in any running code.

Usable in paused or running states. If invoked in the paused state, the next execution will immediately yield an “interrupted” event.

Source

fn single_step( &mut self, self_: Resource<Debuggee>, resumption: ResumptionValue, ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send

Single-step, returning a future that will yield an event when the single-step execution is complete.

The resumption value indicates any mutations to perform to execution state as part of resuming: for example, injecting a call to another function, or throwing an exception, or forcing an early return from the current function.

Usable in paused state; transitions to running state. Debuggee remains in running state until the returned future completes.

If invoked while already running, causes a trap.

Source

fn continue_( &mut self, self_: Resource<Debuggee>, resumption: ResumptionValue, ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send

Continue execution, returning a future that will yield an event when the resumed execution is complete.

The resumption value indicates any mutations to perform to execution state as part of resuming: for example, injecting a call to another function, or throwing an exception, or forcing an early return from the current function.

Usable in paused state; transitions to running state. Debuggee remains in running state until the returned future completes.

If invoked while already running, causes a trap.

Source

fn exit_frames( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Frame>>>> + Send

Get the current exit frames for each activation.

If invoked while already running, causes a trap.

Source

fn drop( &mut self, rep: Resource<Debuggee>, ) -> impl Future<Output = Result<()>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl HostDebuggee for ResourceTable

Source§

async fn all_modules( &mut self, debuggee: Resource<Debuggee>, ) -> Result<Vec<Resource<Module>>>

Source§

async fn all_instances( &mut self, debuggee: Resource<Debuggee>, ) -> Result<Vec<Resource<Instance>>>

Source§

async fn interrupt(&mut self, debuggee: Resource<Debuggee>) -> Result<()>

Source§

async fn single_step( &mut self, debuggee: Resource<Debuggee>, resumption: ResumptionValue, ) -> Result<Resource<EventFuture>>

Source§

async fn continue_( &mut self, debuggee: Resource<Debuggee>, resumption: ResumptionValue, ) -> Result<Resource<EventFuture>>

Source§

async fn exit_frames( &mut self, debuggee: Resource<Debuggee>, ) -> Result<Vec<Resource<Frame>>>

Source§

async fn drop(&mut self, debuggee: Resource<Debuggee>) -> Result<()>

Source§

impl<_T: HostDebuggee + ?Sized + Send> HostDebuggee for &mut _T

Source§

fn all_modules( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Module>>>> + Send

List all modules that exist in the Store.

If invoked while already running, causes a trap.

Source§

fn all_instances( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Instance>>>> + Send

List of all instances that exist in the Store.

If invoked while already running, causes a trap.

Source§

fn interrupt( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<()>> + Send

Force an interruption event in any running code.

Usable in paused or running states. If invoked in the paused state, the next execution will immediately yield an “interrupted” event.

Source§

fn single_step( &mut self, self_: Resource<Debuggee>, resumption: ResumptionValue, ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send

Single-step, returning a future that will yield an event when the single-step execution is complete.

The resumption value indicates any mutations to perform to execution state as part of resuming: for example, injecting a call to another function, or throwing an exception, or forcing an early return from the current function.

Usable in paused state; transitions to running state. Debuggee remains in running state until the returned future completes.

If invoked while already running, causes a trap.

Source§

fn continue_( &mut self, self_: Resource<Debuggee>, resumption: ResumptionValue, ) -> impl Future<Output = Result<Resource<EventFuture>>> + Send

Continue execution, returning a future that will yield an event when the resumed execution is complete.

The resumption value indicates any mutations to perform to execution state as part of resuming: for example, injecting a call to another function, or throwing an exception, or forcing an early return from the current function.

Usable in paused state; transitions to running state. Debuggee remains in running state until the returned future completes.

If invoked while already running, causes a trap.

Source§

fn exit_frames( &mut self, self_: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<Resource<Frame>>>> + Send

Get the current exit frames for each activation.

If invoked while already running, causes a trap.

Source§

async fn drop(&mut self, rep: Resource<Debuggee>) -> Result<()>

Implementors§