objdump后面的-T是不是应该用-t呀?
时间: 2024-03-18 13:42:22 浏览: 19
非常抱歉,我的回答有误。确实应该使用小写的 `-t` 选项来列出符号表,而不是 `-T`。所以正确的命令应该是:
```bash
find . -name "*.a" -exec objdump -t {} \; | grep my_func_name
```
这个命令会在当前文件夹及其子文件夹中查找所有名为*.a的文件,并使用objdump命令来列出这些文件中的所有符号表。然后,grep命令会在objdump输出中查找名为my_func_name的函数名,并将结果输出到终端。非常抱歉之前的回答错误了。
相关问题
objdump -t和-T的区别
objdump 是一个反汇编工具,可以用来查看二进制文件中的各种信息,包括符号表、重定位表、代码段、数据段等等。其中,objdump -t 和 objdump -T 是两种不同的查看符号表的方式,具体区别如下:
- objdump -t:显示符号表,包括符号名、符号类型、符号大小、符号所在的节等信息。这个命令主要用于查看二进制文件中的符号表,可以用来查询二进制文件中的函数、变量等信息。
- objdump -T:显示重定位表,包括重定位类型、符号名、符号值等信息。这个命令主要用于查看二进制文件中的重定位表,可以用来查询二进制文件中的函数调用、符号引用等信息。
简单来说,objdump -t 主要用于查看符号表,objdump -T 主要用于查看重定位表。两者都可以用来查询二进制文件中的符号信息,但是显示的信息和格式略有不同。
llvm-objdump -T
`llvm-objdump -T`是一个用于查看ELF(可执行和可链接格式)文件中符号表的命令。它提供了有关二进制文件中定义和引用的符号的信息。
要使用`llvm-objdump -T`命令,需要在终端中执行以下步骤:
1. 打开终端。
2. 在终端中输入以下命令:
```
llvm-objdump -T /path/to/binary
```
将`/path/to/binary`替换为你要查看符号表的二进制文件的路径。
3. 按下Enter键执行命令。
`llvm-objdump -T`命令将显示二进制文件中的符号表信息,包括符号的名称、类型、位置等。
请注意,`llvm-objdump -T`命令需要安装LLVM工具链才能使用。如果你尚未安装LLVM,可以使用适当的软件包管理器(如apt、yum或dnf)来获取LLVM工具链。