| Crates.io | backtracer_core |
| lib.rs | backtracer_core |
| version | 0.0.7 |
| created_at | 2021-04-06 21:57:16.837613+00 |
| updated_at | 2022-10-21 17:13:43.988306+00 |
| description | A library to acquire a stack trace (backtrace) at runtime in a no-std Rust program. |
| homepage | https://github.com/gz/backtracer |
| repository | https://github.com/gz/backtracer |
| max_upload_size | |
| id | 380033 |
| size | 34,879 |
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.
[dependencies]
backtracer = "0.0.1"
extern crate backtracer;
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
});
}
This should work on any platform with minimal implementation effort.