31 个版本 (破坏性更新)
0.24.1 | 2024 年 7 月 26 日 |
---|---|
0.23.0 | 2024 年 5 月 26 日 |
0.21.0 | 2023 年 8 月 13 日 |
0.20.0 | 2023 年 4 月 16 日 |
0.1.0 | 2016 年 12 月 3 日 |
#19 在 调试
6,579,326 每月下载量
用于 32,557 个 Crates(直接使用 33 个)
120KB
2.5K SLoC
addr2line
addr2line
提供了一个跨平台库,用于从具有 DWARF 调试信息的文件中检索每个地址的调试信息。给定一个地址,它可以将与该地址关联的文件名、行号和函数名以及到达该地址的嵌套调用栈返回。
该包有一个命令行包装器,它提供了与 GNU binutils 一起分发的 addr2line
命令行工具的一些功能。
快速入门
- 将
addr2line
Crate 添加到您的Cargo.toml
。 - 使用文件路径调用
addr2line::Loader::new
。 - 使用
addr2line::Loader::find_location
或addr2line::Loader::find_frames
查找地址的调试信息。
如果您想提供自己的文件加载和内存管理,请使用 addr2line::Context
而不是 addr2line::Loader
。
性能
addr2line
通过缓存解析信息,在速度和内存之间进行优化。尽可能懒惰地解析 DWARF 信息。
该库旨在与 binutils 中的 addr2line
、elfutils 中的 eu-addr2line
和 llvm 项目中的 llvm-symbolize
等现有工具的性能相似,并且过去进行了一些基准测试,表明其性能相当。
许可证
根据您的选择,许可协议如下
- Apache License 2.0 (
LICENSE-APACHE
或 https://www.apache.org/licenses/LICENSE-2.0) - MIT 许可证 (
LICENSE-MIT
或 https://opensource.org/licenses/MIT)
任选其一。
除非您明确表示,否则根据 Apache-2.0 许可证定义,您有意提交的工作成果将根据上述许可证进行双许可,不附加任何额外条款或条件。
依赖项
约 2-12MB
约 145K SLoC