22 个版本

0.1.22 2023 年 8 月 7 日
0.1.20 2023 年 7 月 27 日
0.1.12 2023 年 3 月 6 日
0.1.4 2022 年 12 月 13 日
0.1.3 2022 年 11 月 29 日

WebAssembly 中排名 433

每月下载 38

MIT 许可证

215KB
5K SLoC

wasmgdb

像 WebAssembly 的 gdb 那样思考

安装

cargo install wasmgdb

使用方法

使用 wasm-coredump-rewriter 转换您的模块,一旦 WebAssembly 陷阱发生,收集 WebAssembly 内存并分析 core dump。

分析 core dump

wasmgdb <source.wasm> <coredump.data>

命令

bt

显示堆栈跟踪。

f<#>

选择一个堆栈帧并显示信息。

p<expr>

检查变量的内容。需要首先使用 f 选择帧。

p*<expr>

检查解引用后的变量的内容。需要首先使用 f 选择帧。

p/s<expr>

将变量作为字符串打印。需要首先使用 f 选择帧。

p(<type>) <expr>

按 . 打印内容。

x/<number> <hex-addr>

以长度检查内存地址。

x/<number>s<hex-addr>

以长度打印内存地址的字符串。

find<expr>

在内存中查找作为字节的。

用法: find <start-addr>, <end-addr>, <expr> find <expr>

info types

列出所有定义的类型。

info locals

列出本地值(包括 Wasm 函数参数)。

info symbol<funcidx>

获取给定索引处的函数信息。

info imports

列出 WebAssembly 模块从宿主导入的函数。

info functions

列出所有定义的函数。

info globals

列出全局变量。

info process

有关进程的信息。

表达式

  • 成员访问: <对象>-><成员>
  • 类型转换: (<类型>) <十六进制-地址>
  • 字符串: "<字符串>"

依赖项

~23-35MB
~592K SLoC