1 个不稳定版本
0.1.0 | 2019 年 10 月 18 日 |
---|
#964 在 WebAssembly
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
- 查看程序状态:
context
、locals
、globals
、值stack
、backtrace
和labels
栈 - 修改程序状态:
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