pub struct Symbol { /* private fields */ }
Expand description
A trait representing the resolution of a symbol in a file.
This trait is yielded as a trait object to the closure given to the
backtrace::resolve
function, and it is virtually dispatched as it’s
unknown which implementation is behind it.
A symbol can give contextual information about a function, for example the
name, filename, line number, precise address, etc. Not all information is
always available in a symbol, however, so all methods return an Option
.
Implementations§
source§impl Symbol
impl Symbol
sourcepub fn name(&self) -> Option<SymbolName<'_>>
pub fn name(&self) -> Option<SymbolName<'_>>
Returns the name of this function.
The returned structure can be used to query various properties about the symbol name:
- The
Display
implementation will print out the demangled symbol. - The raw
str
value of the symbol can be accessed (if it’s valid utf-8). - The raw bytes for the symbol name can be accessed.
sourcepub fn filename_raw(&self) -> Option<BytesOrWideString<'_>>
pub fn filename_raw(&self) -> Option<BytesOrWideString<'_>>
Returns the raw filename as a slice. This is mainly useful for no_std
environments.
sourcepub fn colno(&self) -> Option<u32>
pub fn colno(&self) -> Option<u32>
Returns the column number for where this symbol is currently executing.
Only gimli currently provides a value here and even then only if filename
returns Some
, and so it is then consequently subject to similar caveats.
sourcepub fn lineno(&self) -> Option<u32>
pub fn lineno(&self) -> Option<u32>
Returns the line number for where this symbol is currently executing.
This return value is typically Some
if filename
returns Some
, and
is consequently subject to similar caveats.
sourcepub fn filename(&self) -> Option<&Path>
pub fn filename(&self) -> Option<&Path>
Returns the file name where this function was defined.
This is currently only available when libbacktrace or gimli is being
used (e.g. unix platforms other) and when a binary is compiled with
debuginfo. If neither of these conditions is met then this will likely
return None
.
Required features
This function requires the std
feature of the backtrace
crate to be
enabled, and the std
feature is enabled by default.