Trait backtrace::Symbol [−][src]
pub trait Symbol { fn name(&self) -> Option<SymbolName> { ... } fn addr(&self) -> Option<*mut c_void> { ... } fn filename(&self) -> Option<&Path> { ... } fn lineno(&self) -> Option<u32> { ... } }
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 funciton, 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
.
Provided Methods
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.
fn addr(&self) -> Option<*mut c_void>
Returns the starting address of this function.
fn filename(&self) -> Option<&Path>
Returns the file name where this function was defined.
This is currently only available when libbacktrace is being used (e.g.
unix platforms other than OSX) and when a binary is compiled with
debuginfo. If neither of these conditions is met then this will likely
return None
.
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.
Trait Implementations
Implementors
impl Symbol for BacktraceSymbol