#backtrace #std #parse #parser

nightly btparse

一个用于检查 std::backtrace::Backtrace 的 Debug 格式的最小反序列化器

2 个版本

0.1.1 2020年11月18日
0.1.0 2020年4月30日

#1974解析器实现

Download history 3/week @ 2024-03-22 25/week @ 2024-03-29 11/week @ 2024-04-05

每月286次下载

MIT/Apache

17KB
357

btparse

一个用于检查 std::backtrace::Backtrace 的 Debug 格式的最小反序列化器。

概述

目前,Rust 标准库正在尽可能少地暴露 std::backtrace::Backtrace 的 API 表面,并且只允许通过 DebugDisplay 特性进行检查。然而,为了提供自定义的回溯格式,像 color-backtrace 这样的库需要能够遍历回溯的帧,并访问其各个成员,如文件名和行号。

此库提供了一种权宜之计。直到 std 最终导出稳定的回溯帧迭代器接口,此库将尝试解析回溯不稳定 Debug 输出的最佳努力。这将允许像 color-backtrace 这样的库在 std::backtrace::Backtrace 最终稳定之前提供不稳定支持。

一旦 std 最终稳定,此库将更新内部实现,以依赖于提供的迭代器 API 而不是可能脆弱的解析。


使用方法

cargo add btparse
let bt = std::backtrace::Backtrace::capture();
let bt_parsed = btparse::deserialize(&bt);

许可证

根据您的选择,此库受Apache 许可证第 2.0 版MIT 许可证许可。
除非您明确声明,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在此软件包中的贡献,都应按上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖