CRusTTY: A pedagogical C interpreter with time-travel debugging capabilities

Fans hype “time travel for bugs,” skeptics call it a classroom toy

TLDR: CRusTTY lets you rewind and replay how C programs run, showing memory and output as you go. Commenters are split between cheering a “time machine for bugs” and noting it’s a stripped‑down, teaching-only tool, sparking a hype-vs-reality debate about bringing this feature to everyday debugging.

The internet just met CRusTTY, a Rust-built teaching tool that lets you rewind and replay your C programs like a DVR. Think: step through your code line by line, jump backward in time, and watch memory change in real time—all in a text window. The crowd’s first reaction? Pure delight. One fan practically squealed, “Time travel debugging is soooo cool,” dreaming of crash reports that come with a full replay of what happened before things blew up. Cue the Marty McFly memes and “rewind that crash” jokes; everyone wants a Debugger DeLorean. You can even try a bundled demo or load your own file, and the terminal interface shows your code, a call stack (who called what), the heap (where dynamic stuff lives), and live output. Nerd theater, but make it educational.

But the honeymoon hit a speed bump. Another commenter threw the brakes, quoting the project’s own warning: “This is NOT a production C interpreter.” Translation: it’s a learning sandbox. No preprocessor, no fancy types, no file access, no outside system calls, and a tiny built-in library. The debate turned spicy fast: visionaries want this time-travel magic everywhere (even in crash reports), while realists call it a clever toy for teaching, not a work tool. Still, curiosity wins—because even if it’s not for shipping code, CRusTTY’s rewind button feels like the feature every beginner wishes their first programming class had. Try it via the project page and prepare to press “b” to go back in time.

Key Points

  • CRusTTY is an educational C interpreter written in Rust with a terminal-based UI.
  • It offers interactive, stepwise execution with time-travel debugging and real-time stack/heap visualization.
  • Supports a defined subset of C: core types, control flow, operators, dynamic memory, and built-ins (printf, scanf, malloc, free, sizeof).
  • TUI includes panes for source, stack, heap, terminal output, and a status bar; keybindings enable stepping, continuing, restarting, and navigation.
  • Precompiled binaries will be available for Windows, macOS, and Linux (x86_64 and ARM); source builds require Rust 1.70+ and cargo.

Hottest takes

“Time travel debugging is soooo cool” — anematode
“This is NOT a production C interpreter:” — yjftsjthsd-h
“Still probably a good learning tool, but that does limit it to toy/teaching...” — yjftsjthsd-h
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.