Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oli-obk/priroda
A graphical debugger for Rust MIR
https://github.com/oli-obk/priroda
Last synced: 3 months ago
JSON representation
A graphical debugger for Rust MIR
- Host: GitHub
- URL: https://github.com/oli-obk/priroda
- Owner: oli-obk
- License: apache-2.0
- Created: 2016-09-19T13:14:52.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2022-08-25T17:43:08.000Z (over 2 years ago)
- Last Synced: 2024-10-08T07:10:44.368Z (4 months ago)
- Language: Rust
- Homepage:
- Size: 414 KB
- Stars: 183
- Watchers: 11
- Forks: 13
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Priroda
Priroda is a graphical (UI in browser) debugger for Rust programs
## Setup
You need a few things before you can get started. At the very minimum you need to have
the graphviz libraries present.* debian/ubuntu: `apt install libgraphviz-dev`
Next, you're going to want a libstd with full MIR. The easiest way to obtain this is via
`cargo miri`:```bash
# Install cargo miri:
rustup component add miri
# Compile libstd:
cargo miri setup
# Set the MIRI_SYSROOT environment variable to the path printed by the setup command:
export MIRI_SYSROOT=...
```## Features
* Supports commands known from gdb
* next, step, continue
* Inspect memory of all stack frames visually
* Follow pointers by clicking hyperlinks
* Track your progress through a function in a graph of the MIR
* Style your debugging experience with CSS## Usage
`cargo run some_rust_file.rs` will automatically start a http server and open a
browser. UI is changing rapidly right now, so you need to figure out how to use
it by yourself (or by asking on irc) for now.## Contributing and getting help
Check out the issues on this GitHub repository for some ideas. There's lots that
needs to be done that I haven't documented in the issues yet, however. For more
ideas or help with running or hacking on Priroda, you can ask at [`#miri`] on the
rust-lang zulip.[`#miri`]: https://rust-lang.zulipchat.com/#narrow/stream/269128-miri
### Miri
This project depends entirely on [Miri](https://github.com/rust-lang/miri).
So if you want to improve something that we fail to interpret, add a unit test
to Miri and fix it there.## License
Licensed under either of
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))
* MIT license ([LICENSE-MIT](LICENSE-MIT))### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you shall be dual licensed as above, without any
additional terms or conditions.