Hi everyone,
When debugging processes and inspecting system behavior on Windows, tools like Process Monitor (Procmon) are great, but they are heavy graphical utilities that rely on kernel-mode drivers. On the other hand, having a lightweight, terminal-native way to inspect system calls and Win32 APIs in real time was something I felt was missing for daily workflow.
I wanted to build an independent, lightweight alternative designed from scratch for the Windows console, with two strict requirements:
- Pure terminal workflow (interactive TUI and scriptable stream).
- Zero kernel drivers (pure userland Win32 and native OS ETW) to ensure safety and stability.
This is why I created wstrace, written entirely from scratch in Rust.
Core Features:
* Zero Kernel Drivers: Runs strictly in userland without third-party .sys drivers or ring-0 dependencies.
* Interactive TUI: Built with Ratatui, offering real-time process monitoring, event filtering, search, and activity timelines.
* Headless Stream Mode: Direct output to stdout (formatted text or JSON) for scripting, log analysis, and automation.
* Single Lightweight Binary: Fast startup, zero runtime dependencies, and minimal memory usage.
* 100% Local and Air-Gapped: Zero telemetry, zero analytics, and zero network calls.
Installation:
Prebuilt standalone binaries are available on GitHub Releases, and it can also be installed using Scoop, Winget, PowerShell, or Cargo:
cargo install --git https://github.com/gilnett/wstrace
Or via Scoop:
scoop install https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/scoop/wstrace.json
Feedback & Feature Requests Welcome:
This is the initial v0.1.0 release. I would really appreciate any feedback, suggestions, or edge cases you encounter while testing it.
If there are specific Win32 APIs, events, or CLI flags you would like to see added, please let me know. I am actively maintaining the project and very open to community requests and contributions.
GitHub Repository: https://github.com/gilnett/wstrace
Thanks for checking it out!