#[repr(C)]pub struct blaze_sym {
pub name: *const c_char,
pub module: *const c_char,
pub addr: Addr,
pub offset: usize,
pub size: isize,
pub code_info: blaze_symbolize_code_info,
pub inlined_cnt: usize,
pub inlined: *const blaze_symbolize_inlined_fn,
pub reason: blaze_symbolize_reason,
pub reserved: [u8; 15],
}Expand description
The result of symbolization of an address.
A blaze_sym is the information of a symbol found for an
address.
Fields§
§name: *const c_charThe symbol name is where the given address should belong to.
If an address could not be symbolized, this member will be NULL.
Check the reason member for additional information pertaining
the failure.
module: *const c_charThe path to or name of the module containing the symbol.
Typically this would be the path to a executable or shared
object. Depending on the symbol source this member may not be
present or it could also just be a file name without path. In
case of an ELF file contained inside an APK, this will be an
Android style path of the form <apk>!<elf-in-apk>. E.g.,
/root/test.apk!/lib/libc.so.
addr: AddrThe address at which the symbol is located (i.e., its “start”).
This is the “normalized” address of the symbol, as present in
the file (and reported by tools such as readelf(1),
llvm-gsymutil, or similar).
offset: usizeThe byte offset of the address that got symbolized from the
start of the symbol (i.e., from addr).
E.g., when symbolizing address 0x1337 of a function that starts at
0x1330, the offset will be set to 0x07 (and addr will be 0x1330). This
member is especially useful in contexts when input addresses are not
already normalized, such as when symbolizing an address in a process
context (which may have been relocated and/or have layout randomizations
applied).
size: isizeThe size of the symbol.
If the symbol’s size is not available, this member will be -1.
Note that some symbol sources may not distinguish between
“unknown” size and 0. In that case the size will be reported
as 0 here as well.
code_info: blaze_symbolize_code_infoSource code location information for the symbol.
inlined_cnt: usizeThe number of symbolized inlined function calls present.
inlined: *const blaze_symbolize_inlined_fnAn array of inlined_cnt symbolized inlined function calls.
reason: blaze_symbolize_reasonOn error (i.e., if name is NULL), a reason trying to explain
why symbolization failed.
reserved: [u8; 15]Unused member available for future expansion.