I’d like to announce
gimli is a lazy, zero-copy parser for DWARF debugging information. We aim to be the fastest and most ergonomic library for working with DWARF!
- Repository: https://github.com/gimli-rs/gimli
- On crates.io: https://crates.io/crates/gimli
- Documentation: https://gimli-rs.github.io/gimli/gimli/index.html
As of now, we have implemented coverage for almost all of the standard. We have fast DIE tree traversal, line number table evaluation, a DWARF expressions evaluator, CFI unwinding evaluation (only
.debug_frame at the moment,
.eh_frame coming soon), and more.
Notable TODOs are support for
.debug_macinfo, GNU non-standard extensions, and features from the upcoming 5th edition of the DWARF standard.
Once we have completed our low-level, raw APIs for the whole standard, we plan on building a higher level “semantic” API on top of DIEs.
There have been a few of us contributing to
gimli, so please take a look at the contributors list and give everyone their dues
We hope that people find this library useful! Please don’t hesitate to ask for help, suggest API improvements, complain (constructively) about documentation, file an issue, or submit a pull request!
If you’re interested in contributing to
gimli, please reach out to me and I can help mentor, find some stuff that would be a good match for you, etc.