| Crates.io | gimli |
| lib.rs | gimli |
| version | 0.33.0 |
| created_at | 2016-06-15 02:48:38.339028+00 |
| updated_at | 2026-01-24 05:33:59.582993+00 |
| description | A library for reading and writing the DWARF debugging format. |
| homepage | |
| repository | https://github.com/gimli-rs/gimli |
| max_upload_size | |
| id | 5383 |
| size | 2,042,911 |
gimligimli is a library for reading and writing the
DWARF debugging format.
Zero copy: everything is just a reference to the original input buffer. No copies of the input data get made.
Lazy: you can iterate compilation units without parsing their
contents. Parse only as many debugging information entry (DIE) trees as you
iterate over. gimli also uses DW_AT_sibling references to avoid parsing a
DIE's children to find its next sibling, when possible.
Cross-platform: gimli makes no assumptions about what kind of object
file you're working with. The flipside to that is that it's up to you to
provide an ELF loader on Linux or Mach-O loader on macOS.
object crate. See the
gimli-examples crate for usage with gimli.To add a gimli dependency to your Cargo.toml, run:
$ cargo add gimli
The minimum supported Rust version is 1.88.
Example programs:
A simple DWARF converter to read DWARF sections then write them back out again.
A DWARF converter that modifies the DWARF by removing entries for dead code.
Licensed under either of
LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)LICENSE-MIT or https://opensource.org/licenses/MIT)at your option.
See CONTRIBUTING.md for hacking.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.