Struct wasmtime::WasmCoreDump
source · pub struct WasmCoreDump { /* private fields */ }
Expand description
Representation of a core dump of a WebAssembly module
When the Config::coredump_on_trap option is enabled this structure is
attached to the anyhow::Error
returned from many Wasmtime functions that
execute WebAssembly such as Instance::new
or Func::call
. This can be
acquired with the anyhow::Error::downcast
family of methods to
programmatically inspect the coredump. Otherwise since it’s part of the
error returned this will get printed along with the rest of the error when
the error is logged.
Note that some state, such as Wasm locals or values on the operand stack, may be optimized away by the compiler or otherwise not recovered in the coredump.
Capturing of wasm coredumps can be configured through the
Config::coredump_on_trap
method.
For more information about errors in wasmtime see the documentation of the
Trap
type.
Implementations§
source§impl WasmCoreDump
impl WasmCoreDump
sourcepub fn store_globals(&self) -> &[Global]
pub fn store_globals(&self) -> &[Global]
The imported globals that belong to the store, rather than a specific instance
sourcepub fn store_memories(&self) -> &[Memory]
pub fn store_memories(&self) -> &[Memory]
The imported memories that belong to the store, rather than a specific instance.
Trait Implementations§
source§impl Debug for WasmCoreDump
impl Debug for WasmCoreDump
Auto Trait Implementations§
impl Freeze for WasmCoreDump
impl !RefUnwindSafe for WasmCoreDump
impl Send for WasmCoreDump
impl Sync for WasmCoreDump
impl Unpin for WasmCoreDump
impl !UnwindSafe for WasmCoreDump
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> 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 more