8 releases (stable)

Uses new Rust 2024

2.8.0 Jun 13, 2025
2.6.0 Jun 13, 2025
1.0.0 Jun 3, 2025
0.2.0 Jun 3, 2025
0.1.0 Jun 3, 2025

#316 in Operating systems

Download history

333 downloads per month

MIT/Apache

37KB
537 lines

A GUI-based variable inspection tool for Rust, useful for debugging without print statements.
At runtime, inspect!(...) opens a window displaying your variables with pretty formatting.

This was inspired by Suneido's Inspect tool, which allows you to inspect variables in a GUI.

This works under the hood by forking the process and using IPC channels to communicate with a GUI server. Only supported on Unix-like systems (Linux, macOS, etc.).

This also allows you to "time travel" through your debug frames, letting you go back and forth through previous variable states. NOTE: This does not change the execution of your program, only debug's inspect history.

Usage:
mazer_dbg::inspect!(var1, var2, ...); mazer_dbg::inspect_when!(condition, var1, var2, ...);

inspect!() will automatically initialize the debug server if it hasn't been done yet.

The library wraps in #[cfg(debug_assertions)] so it only compiles in debug builds. No runtime cost in release builds, as all inspect!() calls are optimized out.

Dependencies

~13–58MB
~1M SLoC