Hi folks!
I'd like to announce gimli! 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.
Thanks!