# gimli-rs/gimli

A library for reading and writing the DWARF debugging format

Repository: https://github.com/gimli-rs/gimli
Canonical: https://ross.abutalabs.com/products/gimli
Homepage: https://docs.rs/gimli/
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: dwarf, rust, cross-platform
Last push: 2026-08-01T08:56:11+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 95, release rhythm 35, longevity 100
- inputs: {"age_days": 3732, "days_push": 32, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1009, forks 139 (observed 2026-08-28T04:03:12.880653+00:00)

## What it is
gimli is a Rust library for reading and writing the DWARF debugging format. It is zero-copy, lazy, and works with any object file format, usable even in no_std/embedded environments.

## Use cases
- parse DWARF debug info from binaries
- write DWARF debugging sections
- resolve addresses to source lines like addr2line
- build a dwarfdump-style debug info dumper
- convert or strip DWARF sections in a toolchain
- parse .debug_line line number programs

## When to choose
- you need fast, zero-copy DWARF parsing in Rust
- you're building debuggers, profilers, or symbolication tools
- you need no_std support for embedded tooling
- you want an object-file-format-agnostic DWARF reader/writer

## When to avoid
- you need a ready-made CLI like dwarfdump or addr2line rather than a library
- you need to parse object files themselves (use the object crate alongside)
- you work outside Rust and need bindings

## Facets
- artifact type: library
- maturity: stable
- function: parser, developer-tools, sdk
- domain: developer-tools, parsers, cross-platform
- platform: rust, cross-platform, embedded
- tags: dwarf, debug-info, zero-copy, elf, eh-frame, debugging-format, no-std

## Member repositories
- gimli-rs/gimli (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:12.880653+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:12:03.097865+00:00, confidence not recorded.
  - readme: https://github.com/gimli-rs/gimli (fetched 2026-08-28T04:03:12.880653+00:00, sha d8305de205cd)
  - homepage: https://docs.rs/gimli/ (fetched 2026-08-29T13:12:06.864467+00:00, sha 00a5c96af5e6)
  - site_page: https://docs.rs/ (fetched 2026-08-29T13:12:06.866991+00:00, sha c98c148e9062)
  - site_page: https://docs.rs/crate/gimli/latest (fetched 2026-08-29T13:12:06.869051+00:00, sha ed5b71354dc1)
  - site_page: https://docs.rs/crate/gimli/latest/features (fetched 2026-08-29T13:12:06.871310+00:00, sha c832b0c682ad)
  - site_page: https://docs.rs/about (fetched 2026-08-29T13:12:06.873102+00:00, sha 29ab7986fbf5)
  - site_page: https://docs.rs/about/badges (fetched 2026-08-29T13:12:06.874669+00:00, sha 6588cac258af)
  - site_page: https://docs.rs/about/builds (fetched 2026-08-29T13:12:06.876214+00:00, sha 811231ca4680)
  - site_page: https://docs.rs/about/metadata (fetched 2026-08-29T13:12:06.877882+00:00, sha 0dcdccb2b2b2)
  - site_page: https://docs.rs/about/redirections (fetched 2026-08-29T13:12:06.879697+00:00, sha 1b1efd93105f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
