pub struct Symbol<'a> {
pub name: Cow<'a, str>,
pub vm_addr: u64,
pub size: u64,
pub kind: SymbolKind,
}Expand description
Normalised symbol extracted from the container.
Names are demangled at the container level only insofar as the format
demands it — specifically, Mach-O names have their leading underscore
stripped so that a NimMain probe works uniformly across ELF/PE/Mach-O.
Fields§
§name: Cow<'a, str>Normalised symbol name. Borrows from the input bytes where possible,
owns the string when normalisation required allocation (e.g. ELF
symbols in the .strtab, PE long names via the COFF string table,
Mach-O names with the leading underscore stripped).
vm_addr: u64Virtual address of the symbol, when known. Zero for undefined symbols.
size: u64Size in bytes of the symbol (from ELF st_size). Zero when the
format doesn’t provide size information (Mach-O, stripped PE).
kind: SymbolKindClassification of the symbol.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Symbol<'a>
impl<'a> RefUnwindSafe for Symbol<'a>
impl<'a> Send for Symbol<'a>
impl<'a> Sync for Symbol<'a>
impl<'a> Unpin for Symbol<'a>
impl<'a> UnsafeUnpin for Symbol<'a>
impl<'a> UnwindSafe for Symbol<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more