用于检查 .rlib 文件的工具

hES*_*haN 7 static-libraries rust

我有一个从此存储库生成的 rlib (一个可在嵌入式 Rust 中使用的 HAL 库),我想确定该库中函数的指令序列以供我的研究工作使用。尽管有许多适用于不同语言的工具,但我找不到可以与 rlib 一起使用的工具。我找到了用于检查 .rlib 二进制文件的 Rust 库,但此处提到的工具似乎不起作用。

Sve*_*ach 9

.rlib格式是 Rust 特有的,其格式未指定。它本质上是相应平台的静态库格式,在附加存档成员中具有一些附加元数据。这意味着您可以使用在您的平台上使用的任何工具来检查静态库。

在 Linux 上,您可以使用objdump -d将所有函数的反汇编转储到.rlib文件中。不过,所有符号都会被破坏并且难以阅读,这可以通过以下方法修复rustfilt

cargo install rustfilt
objdump -d whatever.rlib | rustfilt
Run Code Online (Sandbox Code Playgroud)