9个版本 (重大更改)
0.8.0 | 2024年8月6日 |
---|---|
0.7.0 | 2023年8月14日 |
0.6.0 | 2023年4月21日 |
0.5.0 | 2023年2月22日 |
0.1.1 | 2021年12月18日 |
#241 in 调试
每月195次下载
99KB
2K SLoC
thorin
thorin
是一个DWARF打包工具,用于从输入DWARF对象(*.dwo
文件)创建DWARF包(*.dwp
文件),支持DWARF包的预标准GNU扩展格式和DWARF 5中引入的标准格式。
thorin
是作为rustc
中Split DWARF实现的一部分编写的。一个Rust实现的DWARF打包工具更容易集成到编译器中,并支持从归档文件(或rustc的rlibs)加载DWARF对象等特性,这对于支持在rustc
中跨库Split DWARF打包非常有帮助。
使用方法
thorin
可以从可执行文件中读取输入DWARF对象,也可以打包任意输入DWARF对象(包括归档文件中的DWARF对象,如Rust rlibs)!使用cargo
安装thorin
$ cargo install thorin-dwp-bin
$ thorin --help
thorin 0.8.0
merge dwarf objects into dwarf packages
USAGE:
thorin [OPTIONS] [--] [inputs]...
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-e, --exec <executables>... Specify path to executables to read list of dwarf objects from
-o, --output <output> Specify path to write the dwarf package to [default: -]
ARGS:
<inputs>... Specify path to input dwarf objects and packages
如果输入对象是DWARF版本5或更高,则输出包将以DWARF 5格式。对于版本4及以下,将使用GNU扩展格式用于输出包。
稳定性
thorin
的命令行界面旨在保持稳定,并有限地引入重大更改。
名称
thorin
以《霍比特人》中的《托尔金·奥肯希尔》命名,因为托尔金是一位领导其他矮人的矮人。《code>thorin 使用 gimli
库(以《指环王》中的矮人命名)来读取 DWARF 格式的调试信息,该格式是可执行文件和对象文件格式 ELF 的中世纪奇幻补充。
如果您愿意,也可以将此项目称为
rust-dwp
。
作者和致谢
thorin
由 华为技术有限公司研发(英国)有限公司 的 David Wood 编写。[code]thorin 由 Rust 编译器团队 维护。
此外,感谢
object
和 gimli
的作者,本实用程序高度依赖它们;感谢 Philip Craig 在 thorin
的初始实现期间提供的建议和审查。
许可证
根据您的选择,在 Apache 许可证版本 2.0 或 MIT 许可证 下获得许可。除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此软件包中的任何贡献,将如上所述双重许可,不附加任何额外条款或条件。
行为准则
在贡献或与此项目互动时,我们要求遵守 Rust 行为准则,并要求您也这样做。依赖关系
~10–17MB
~202K SLoC