gimli-rs/addr2line

A cross-platform `addr2line` clone written in Rust, using `gimli`

427

stars

549

commits

Rust

primary language

Aug 1, 2026

updated

docs.rs/addr2line
addr2line
cross-platform
debug-symbols
rust
symbolicate
symbolication

README

addr2line

Coverage Status

addr2line provides a cross-platform library for retrieving per-address debug information from files with DWARF debug information. Given an address, it can return the file name, line number, and function name associated with that address, as well as the inline call stack leading to that address.

The crate has a CLI wrapper around the library which provides some of the functionality of the addr2line command line tool distributed with GNU binutils.

Quickstart

If you want to provide your own file loading and memory management, use addr2line::Context instead of addr2line::Loader.

Performance

addr2line optimizes for speed over memory by caching parsed information. The DWARF information is parsed lazily where possible.

The library aims to perform similarly to equivalent existing tools such as addr2line from binutils, eu-addr2line from elfutils, and llvm-addr2line from the llvm project. Current benchmarks show a performance improvement in all cases:

addr2line runtime

License

Licensed under either of

at your option.

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.

Contributors

(top 30 of 40)

philipc

369 commits

fitzgen

45 commits

jonhoo

40 commits

main--

32 commits

gimli-rs/addr2line

A cross-platform `addr2line` clone written in Rust, using `gimli`

427

stars

549

commits

Rust

primary language

Aug 1, 2026

updated

docs.rs/addr2line
addr2line
cross-platform
debug-symbols
rust
symbolicate
symbolication

README

addr2line

Coverage Status

addr2line provides a cross-platform library for retrieving per-address debug information from files with DWARF debug information. Given an address, it can return the file name, line number, and function name associated with that address, as well as the inline call stack leading to that address.

The crate has a CLI wrapper around the library which provides some of the functionality of the addr2line command line tool distributed with GNU binutils.

Quickstart

If you want to provide your own file loading and memory management, use addr2line::Context instead of addr2line::Loader.

Performance

addr2line optimizes for speed over memory by caching parsed information. The DWARF information is parsed lazily where possible.

The library aims to perform similarly to equivalent existing tools such as addr2line from binutils, eu-addr2line from elfutils, and llvm-addr2line from the llvm project. Current benchmarks show a performance improvement in all cases:

addr2line runtime

License

Licensed under either of

at your option.

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.

Contributors

(top 30 of 40)

philipc

369 commits

fitzgen

45 commits

jonhoo

40 commits

main--

32 commits

Languages

Rust

97.7%

Shell

1.4%