tree: cd274e227fcaff7395e686642d56cfdd27d61e8e
  1. src/
  2. Cargo.lock
  3. Cargo.toml
  4. README.md
  5. rust-toolchain.toml
priroda/README.md

Priroda

Priroda is a step-through debugger for Rust programs running under Miri.

Current focus:

  • simple CLI prototype
  • single-threaded stepping with Miri's interpreter
  • source-location output after stepping
  • source-location breakpoint prototype

Setup

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)"

Run

Priroda currently reads MIRI_SYSROOT directly. After setup:

cargo run -p priroda -- tests/pass/empty_main.rs

Commands

CommandDescription
Enter, s, stepExecute one Miri interpreter step.
c, continueContinue until the program finishes or reaches a breakpoint.
b <path>:<line>, break <path>:<line>Add a source-location breakpoint.
q, quitExit Priroda.

EOF also exits Priroda cleanly.

Example:

(priroda) break tests/pass/empty_main.rs:3
(priroda) continue