How sicklefire/m-vis works
m-vis is a cross-platform process-memory diagnostic CLI and terminal UI. Users select a process, inspect its mappings, heaps, loaded modules, or memory bytes, and can compare heap snapshots or explore pointer relationships; CI mode can run checks and export reports. The central runtime path runs through command handling and the scan engine to the selected OS memory provider. The README documents the product capabilities; some subsystem links below rely on that documentation or the source index because their implementation excerpts were not provided.
Main entry points: scan.rs Memory scanner · tui.rs Terminal UI · mod.rs Memory provider · commands.rs UI commands
Components 20
Interfaces & automation
- CLI
src/main.rs - Terminal UI
src/ui/tui.rs - UI commands
src/ui/commands.rs - CI checks
src/ci.rs
Memory inspection
- Memory scanner
src/core/scan.rs - Snapshot delta
src/core/delta.rs - Stack capture
src/core/stack_trace.rs - Hex inspection
src/core/hex_dump.rs - Memory records
src/types.rs
Platform providers
- Memory provider
src/os/mod.rs - Linux APIs
src/os/linux.rs - macOS APIs
src/os/macos.rs - Windows APIs
src/os/windows.rs
Output & shared support
- Report export
src/export.rs - Process lookup
src/utils/process.rs - Formatting
src/utils/formatting.rs - UI rendering
src/ui/render.rs - UI theme
src/ui/theme.rs - Loading UI
src/utils/loader.rs
Other components
- User
Connections 24
- User → CLI: runs commands
README.md - User → Terminal UI: opens dashboard
README.md - CLI → Memory scanner: requests inspection
- Terminal UI → UI commands: dispatches commands
src/ui/tui.rs - UI commands → Process lookup: resolves process
src/ui/commands.rs - UI commands → Memory scanner: runs scan
src/ui/commands.rs - UI commands → Memory provider: queries modules
src/ui/commands.rs - Memory scanner → Memory provider: reads process memory
src/core/scan.rs - Memory scanner → Snapshot delta: compares snapshots
src/core/scan.rs - Memory scanner → Stack capture: captures observed stack
src/core/scan.rs - Terminal UI → Hex inspection: inspects bytes
src/ui/tui.rs - Terminal UI → UI rendering: renders views
src/ui/tui.rs - Terminal UI → UI theme: uses theme
src/ui/tui.rs - Terminal UI → Loading UI: uses loading indicator
src/ui/tui.rs - Memory provider → Linux APIs: dispatches on Linux
src/os/mod.rs - Memory provider → macOS APIs: dispatches on macOS
src/os/mod.rs - Memory provider → Windows APIs: dispatches on Windows
src/os/mod.rs - CI checks → Memory scanner: runs checks
src/ci.rs - CI checks → Process lookup: uses process data
src/ci.rs - CI checks → Report export: exports reports
src/ci.rs - Report export → Memory records: serializes records
src/export.rs - Snapshot delta → Formatting: formats byte counts
src/core/delta.rs - UI rendering → Formatting: formats values
src/ui/render.rs - Memory scanner → Memory records: produces scan records
src/core/scan.rs