wasmdbg

Crates.iowasmdbg
lib.rswasmdbg
version0.1.0
sourcesrc
created_at2019-10-18 18:08:59.659908
updated_at2019-10-18 18:08:59.659908
descriptionDebugger for wasm binaries
homepagehttps://github.com/benediktwerner/wasmdbg
repositoryhttps://github.com/benediktwerner/wasmdbg.git
max_upload_size
id173801
size213,539
Benedikt Werner (benediktwerner)

documentation

https://docs.rs/wasmdbg

README

wasmdbg

wasmdbg is a gdb-like debugger for WebAssembly binaries written in Rust. It currently supports all MVP version 1 binaries as well as a (currently very limited) subset of WASI.

Building and Installation

Building and installing wasmdbg requires a Rust Installation.

To install wasmdbg:

$ git clone https://github.com/benediktwerner/wasmdbg
$ cargo install --path wasmdbg
$ wasmdbg --version

To build wasmdbg:

$ git clone https://github.com/benediktwerner/wasmdbg
$ cd wasmdbg
$ cargo build
$ ./target/debug/wasmdbg --version

Features

  • Run MVP version 1 binaries
  • Limited subset of WASI (currently only wasi_unstable.proc_exit)
  • Breakpoints: break
  • Watchpoints: watch memory/global
  • Single-stepping: step
  • Step-over function: next
  • Step-out of function: finish
  • View disassembly: disas
  • View program state: context, locals, globals, value stack, backtrace and labels stack
  • Modify program state: set local/global/memory/stack)
  • Print info about the binary: info file/imports/exports/functions/tables/memory/globals/start
  • Call a specific functions with any arguments: call
  • Automatically read function and global names from export and names section
  • Specify startup commands in a .wasmdbg_init file
  • Run a python interpreter: python

To view all available commands use the help command. To learn more about a specific command use help COMMAND.

Commit count: 168

cargo fmt