Expand description
blazesym is a library that can be used to symbolize addresses. Address symbolization is a common problem in tracing contexts, for example, where users want to reason about functions by name, but low level components report only the “raw” addresses (e.g., in the form of stacktraces).
In addition to symbolization, blazesym also provides APIs for the reverse operation: looking up addresses from symbol names. That can be useful, for example, for configuring breakpoints or tracepoints.
§Overview
The crate is organized via public modules that expose functionality pertaining a certain topic. Specifically, these areas are currently covered:
symbolize
covers address symbolization functionalityinspect
contains APIs for inspecting files such as ELF and Gsym to lookup addresses to symbol names, for examplenormalize
exposes address normalization functionality
C API bindings are defined in a cross-cutting manner as part of the
cblazesym
crate (note that Rust code should not have to consume
these functions and on the ABI level this module organization has no
relevance for C).
Modules§
- Utility functionality not specific to any overarching theme.
- Functionality for inspecting files such as ELF or Gsym.
- Functionality for address normalization.
- Functionality for symbolizing addresses.
Structs§
- The error type used by the library.
Enums§
- An enum providing a rough classification of errors.
- An enumeration identifying a process.
- The type of a symbol.
Traits§
- A trait providing ergonomic chaining capabilities to
Error
. - A trait providing conversion shortcuts for creating
Error
instances.
Type Aliases§
- A type representing addresses.
- A result type using our
Error
by default.