2 个版本
0.1.1 | 2020年11月18日 |
---|---|
0.1.0 | 2020年4月30日 |
#1974 在 解析器实现
每月286次下载
17KB
357 行
btparse
一个用于检查 std::backtrace::Backtrace
的 Debug 格式的最小反序列化器。
概述
目前,Rust 标准库正在尽可能少地暴露 std::backtrace::Backtrace
的 API 表面,并且只允许通过 Debug
和 Display
特性进行检查。然而,为了提供自定义的回溯格式,像 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 许可证定义,您提交的任何有意包含在此软件包中的贡献,都应按上述方式双重许可,不附加任何额外条款或条件。