pub struct WasmCoreDump { /* private fields */ }coredump only.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 frames(&self) -> &[FrameInfo]
Available on crate feature runtime only.
pub fn frames(&self) -> &[FrameInfo]
runtime only.The stack frames for this core dump.
Frames appear in callee to caller order, that is youngest to oldest frames.
Sourcepub fn modules(&self) -> &[Module]
Available on crate feature runtime only.
pub fn modules(&self) -> &[Module]
runtime only.All modules instantiated inside the store when the core dump was created.
Sourcepub fn instances(&self) -> &[Instance]
Available on crate feature runtime only.
pub fn instances(&self) -> &[Instance]
runtime only.All instances within the store when the core dump was created.
Sourcepub fn globals(&self) -> &[Global]
Available on crate feature runtime only.
pub fn globals(&self) -> &[Global]
runtime only.All globals, instance- or host-defined, within the store when the core dump was created.
Sourcepub fn memories(&self) -> &[Memory]
Available on crate feature runtime only.
pub fn memories(&self) -> &[Memory]
runtime only.All memories, instance- or host-defined, within the store when the core dump was created.
Sourcepub fn serialize(&self, store: impl AsContextMut, name: &str) -> Vec<u8> ⓘ
Available on crate feature runtime only.
pub fn serialize(&self, store: impl AsContextMut, name: &str) -> Vec<u8> ⓘ
runtime only.Serialize this core dump into the standard core dump binary format.
The name parameter may be a file path, URL, or arbitrary name for the
“main” Wasm service or executable that was running in this store.
Once serialized, you can write this core dump to disk, send it over the network, or pass it to other debugging tools that consume Wasm core dumps.
Trait Implementations§
Source§impl Debug for WasmCoreDump
Available on crate feature runtime only.
impl Debug for WasmCoreDump
runtime only.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