Crates.io | wasm-coredump-rewriter |
lib.rs | wasm-coredump-rewriter |
version | 0.1.22 |
source | src |
created_at | 2023-01-24 21:48:01.623803 |
updated_at | 2023-08-07 10:30:44.650892 |
description | Rewrite Wasm binaries to add coredump support |
homepage | |
repository | https://github.com/xtuc/wasm-coredump/tree/main/bin/rewriter |
max_upload_size | |
id | 766948 |
size | 59,779 |
wasm-coredump-rewriter
is used to add Coredump generation to a compiled Wasm
module.
cargo install wasm-coredump-rewriter
Rewrite the source Wasm module to inject the Coredump runtime code. The runtime will catch traps (excluding traps in host functions or memory violations) and generate a coredump.
Use the following command:
wasm-coredump-rewriter < source.wasm > output.wasm
The Coredump runtime has a performance cost.
Your program entered a trap and a Coredump was generated.
To extract the Coredump write the Wasm instance memory to a file, for instance in JavaScript:
const instance = await WebAssembly.instantiate(...);
try {
wasi.start(instance);
} catch(err) {
const image = new Uint8Array(instance.exports.memory.buffer);
writeFile("coredump." + Date.now(), image);
}
See wasmgdb for analyzing / debugging the coredump.