6 releases
Uses old Rust 2015
0.0.7 | Oct 21, 2022 |
---|---|
0.0.6 | Oct 21, 2022 |
0.0.5 | Apr 15, 2022 |
0.0.4 | Aug 3, 2021 |
0.0.2 | Apr 6, 2021 |
#5 in #acquire
23KB
434 lines
backtracer
A library for acquiring backtraces at runtime for Rust no-std environments. If you are not in a no-std environment, you probably want to use https://github.com/alexcrichton/backtrace-rs instead.
Install
[dependencies]
backtracer = "0.0.1"
extern crate backtracer;
Usage
Use the trace
and resolve
functions directly.
extern crate backtracer;
fn main() {
backtracer::trace(|frame| {
let ip = frame.ip();
let symbol_address = frame.symbol_address();
// Resolve this instruction pointer to a symbol name
backtracer::resolve(ip, |symbol| {
if let Some(name) = symbol.name() {
// ...
}
if let Some(filename) = symbol.filename() {
// ...
}
});
true // keep going to the next frame
});
}
Platform Support
This should work on any platform with minimal implementation effort.
lib.rs
:
A library for acquiring a backtrace at runtime
Dependencies
~4.5MB
~62K SLoC