Time-travel debugging comes to WebAssembly — meet gabagool-debug-adapter

April 16, 2026
Chic flat lay of a feminine workspace featuring a laptop, pink stationery, and an hourglass.
Photo by Ivan S on Pexels

What it does

It has been reported that gabagool-debug-adapter is a Debug Adapter Protocol (DAP) server that brings time-travel debugging to WebAssembly programs. The project currently steps through .wat (WebAssembly text) files, letting developers rewind and replay execution while inspecting state — neat, and a little sci-fi. Full source-level support via DWARF symbols is listed as a future, ambitious goal.

Try it today

Want to kick the tires? The repo offers a one-click route: open it in a GitHub Codespace, wait for the container to build, press F5 and you’re off. For local VS Code use there’s a small installation flow: build the adapter with local-install.sh, symlink the extension into ~/.vscode/extensions/gabagool-debug, reload the window, open a .wat file and press F5. The README links to the Debug Adapter Protocol spec for anyone who likes to read the rulebook before the stunt.

Why it matters

Time-travel debugging is one of those features that makes you go, "Why didn’t we have this sooner?" Especially for WebAssembly — a fast-growing target for Rust, C, and other languages — being able to rewind execution could cut down on head-scratching by a lot. It won’t replace full DWARF-backed source debugging yet, but even stepping through .wat gives low-level visibility developers sorely need. Think of it as Back to the Future for your stack trace.

The angle

This isn’t just another niche toy. As wasm moves from browser runtimes into edge compute and serverless, better debugging tools are becoming critical. gabagool is early and pragmatic: concrete, usable now, and honest about its limits. If you care about building reliable wasm apps, it’s worth a look — and maybe a star on GitHub.

Sources: github.com/friendlymatthew, Lobsters