gimli
addr2line
gimli | addr2line | |
---|---|---|
2 | 2 | |
795 | 261 | |
1.5% | 2.7% | |
7.9 | 5.4 | |
7 days ago | 16 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gimli
-
60x speed-up of Linux “perf”
I haven't blogged about this yet, but we saw a 1000x fold speed-up doing several things around symbolication. The more optimal approach we found was to use the gimli crate[1] directly & carefully optimize it to read in the data structures for the executable(s) you are symbolicating upfront & then issuing in-process queries. They also have a drop-in replacement of addr2line that outperforms it (both in symbolication speed & memory usage).
[1] https://github.com/gimli-rs/gimli
-
Rust shenanigans: return type polymorphism
I remember my brain melted when I tried using gimli, and they used this trick: https://github.com/gimli-rs/gimli/blob/master/examples/dwarf-validate.rs#L121-L124
addr2line
-
atos for linux by rust - A partial replacement for Apple's atos tool for converting addresses within a binary file to symbols.
Looking at the code, it looks like dwarf_symbolize_address uses gimli directly, rather than taking advantage of the addr2line crate. Is this intentional?
- 60x speed-up of Linux “perf”
What are some alternatives?
honggfuzz - Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
stacktrace - C++ library for storing and printing backtraces.
jwtinfo - A command-line tool to get information about JWTs (Json Web Tokens)
iOS-System-Symbols - Share iOS system framework's symbol files. Useful for symbolicating iOS crash report.
ddbug - Display debugging information
AFLplusplus - The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!
atosl-rs - 🦀️atos for linux by rust - A partial replacement for Apple's atos tool for converting addresses within a binary file to symbols.
linux - Linux kernel source tree
symbolic - Stack trace symbolication library written in Rust