A time travel debugger for WebAssembly

Source: github.com
19 points by matthewkim a day ago on lobsters | 0 comments

A DAP server that enables time travel debugging for WebAssembly programs.

Currently, the debugger steps through .wat source files. Supporting DWARF debug symbols to step through the original source code is a future (and lofty) goal.

Time travel debugger demo

Try it in one click

Open this repo in a GitHub Codespace

Wait for the container to build and press F5

Local install for VSCode

# build the adapter and copy the binary into the extension dir
./gabagool-debug-adapter/local-install.sh

# symlink the extension into vscode
ln -sfn "$(pwd)/gabagool-debug-adapter" ~/.vscode/extensions/gabagool-debug

# reload vscode (cmd + shift + p -> "Developer: reload window")
# open any .wat file and press F5, then pick a program from the dropdown

Reading

https://microsoft.github.io/debug-adapter-protocol/specification.html