bin+lib wasmdbg

WASM 二进制文件的调试器

1 个不稳定版本

0.1.0 2019 年 10 月 18 日

#964WebAssembly

MIT/Apache

165KB
4.5K SLoC

wasmdbg

wasmdbg 是用 Rust 编写的类似 gdb 的 WebAssembly 二进制文件调试器。它目前支持所有 MVP 版本 1 二进制文件以及(目前非常有限的)WASI 子集。

构建和安装

构建和安装 wasmdbg 需要 Rust 安装

要安装 wasmdbg

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

要构建 wasmdbg

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

特性

  • 运行 MVP 版本 1 二进制文件
  • WASI 的有限子集(目前仅支持 wasi_unstable.proc_exit
  • 断点: break
  • 监视点: watch memory/global
  • 单步执行: step
  • 函数单步执行: next
  • 函数退出: finish
  • 查看反汇编: disas
  • 查看程序状态: contextlocalsglobals、值 stackbacktracelabels
  • 修改程序状态: set local/global/memory/stack)
  • 打印关于二进制文件的信息: info file/imports/exports/functions/tables/memory/globals/start
  • 调用特定函数(带有任意参数): call
  • 自动从导出和名称部分读取函数和全局名称
  • .wasmdbg_init 文件中指定启动命令
  • 运行 Python 解释器: python

要查看所有可用命令,请使用 help 命令。要了解更多有关特定命令的信息,请使用 help COMMAND

依赖关系

~5–13MB
~170K SLoC