#backtrace #run-time #stack-trace #no-std #resolve #acquire #backtracer

backtracer_core

一个用于在无标准库(no-std)的Rust程序中获取运行时堆栈跟踪(backtrace)的库

6个版本

使用旧的Rust 2015

0.0.7 2022年10月21日
0.0.6 2022年10月21日
0.0.5 2022年4月15日
0.0.4 2021年8月3日
0.0.2 2021年4月6日

Rust模式中排名2604

每月下载量23

MIT/Apache

23KB
434

backtracer

用于在Rust无标准环境中获取运行时回溯的库。如果您不在无标准环境中,您可能希望使用https://github.com/alexcrichton/backtrace-rs

安装

[dependencies]
backtracer = "0.0.1"
extern crate backtracer;

用法

直接使用traceresolve函数。

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
    });
}

平台支持

这应该可以在任何平台上以最小的实现努力工作。


lib.rs:

一个用于获取运行时回溯的库

依赖关系

~4.5MB
~62K SLoC