Skip to content
/ gimli Public
forked from gimli-rs/gimli

A lazy, zero-copy parser for the DWARF debugging format.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

philipc/gimli

 
 

Repository files navigation

gimli

Build Status Coverage Status

gimli is a blazing fast library for consuming 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 OSX.

    • Unsure which object file parser to use? Try the cross-platform object crate. See the examples/ directory for usage with gimli.

Install

Add this to your Cargo.toml:

[dependencies]
gimli = "0.16.1"

Documentation

  • Documentation on docs.rs

  • Example programs:

    • A dwarfdump clone

    • An addr2line clone

    • ddbug, a utility giving insight into code generation by making debugging information readable

    • dwprod, a tiny utility to list the compilers used to create each compilation unit within a shared library or executable (via DW_AT_producer)

    • dwarf-validate, a program to validate the integrity of some DWARF and its references between sections and ocmpilation units.

License

Licensed under either of

at your option.

Contribution

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.

About

A lazy, zero-copy parser for the DWARF debugging format.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.9%
  • Shell 0.1%