Struct symbolic_debuginfo::Symbol
source · pub struct Symbol<'data> {
pub name: Option<Cow<'data, str>>,
pub address: u64,
pub size: u64,
}
Expand description
A symbol from a symbol table.
Fields§
§name: Option<Cow<'data, str>>
The name of the symbol.
This name is generally mangled. It can be demangled by constructing a Name
instance and
calling demangle on it. Certain object files might only store demangled symbol names.
address: u64
The relative address of this symbol.
size: u64
The size of this symbol, if known.
When loading symbols from an object file, the size will generally not be known. Instead,
construct a SymbolMap
from the object, which also fills in sizes.
Implementations§
source§impl<'data> Symbol<'data>
impl<'data> Symbol<'data>
sourcepub fn contains(&self, address: u64) -> bool
pub fn contains(&self, address: u64) -> bool
Determines whether the given address is covered by this symbol.
If the symbol size has not been computed, the address is assumed to be covered if it is
greated than the symbol address. Otherwise, the address must be in the half-open interval
[address, address + size)
.
Trait Implementations§
source§impl<'d> FromIterator<Symbol<'d>> for SymbolMap<'d>
impl<'d> FromIterator<Symbol<'d>> for SymbolMap<'d>
source§impl<'data> PartialEq for Symbol<'data>
impl<'data> PartialEq for Symbol<'data>
impl<'data> Eq for Symbol<'data>
impl<'data> StructuralEq for Symbol<'data>
impl<'data> StructuralPartialEq for Symbol<'data>
Auto Trait Implementations§
impl<'data> RefUnwindSafe for Symbol<'data>
impl<'data> Send for Symbol<'data>
impl<'data> Sync for Symbol<'data>
impl<'data> Unpin for Symbol<'data>
impl<'data> UnwindSafe for Symbol<'data>
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
source§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more