Priroda is a step-through debugger for Rust programs running under Miri.
Current focus:
From miri/, install the pinned toolchain and the local cargo-miri command:
./miri toolchain ./miri install
Then build the Miri sysroot and export it for Priroda:
cargo +miri miri setup export MIRI_SYSROOT="$(cargo +miri miri setup --print-sysroot)"
Priroda currently reads MIRI_SYSROOT directly. After setup, run Priroda from miri/priroda/:
cargo run -- ../tests/pass/empty_main.rs
Priroda's CLI tests also need MIRI_SYSROOT. Run them from miri/priroda/:
cargo test
If the CLI tests fail due to mismatched output, you can update the expected output files by running the tests with the --bless flag:
cargo test -- --bless
or
RUSTC_BLESS=1 cargo test
| Command | Description |
|---|---|
Enter, s, step | Execute one Miri interpreter step. |
c, continue | Continue until the program finishes or reaches a breakpoint. |
b <path>:<line>, break <path>:<line> | Add a source-location breakpoint. |
q, quit | Exit Priroda. |
EOF also exits Priroda cleanly.
Example:
(priroda) break tests/pass/empty_main.rs:3 (priroda) continue