如果我尝试使用objdump -t / usr / bin / sort命令,则表示没有符号。但它似乎适用于我的程序。这是什么原因?
答案 0 :(得分:3)
已删除/ usr / bin / sort的符号,例如使用strip
程序 - 对于大多数可执行文件,不需要符号表(或仅需要调试)。 Here更多信息。
答案 1 :(得分:0)
正如另一个答案所提到的,您的sort
二进制文件很可能去除了其符号。但是,仍然应该有一些动态符号信息,这些信息可能仍然对调试有用。这些通常是由动态链接的二进制文件调用的函数的名称。这通常包括libc函数以及其他可能与二进制文件链接的lib * .so共享库。
要查看这些内容,只需添加-T
参数:
$ objdump -tT /bin/sort
/bin/sort: file format elf64-x86-64
SYMBOL TABLE:
no symbols
DYNAMIC SYMBOL TABLE:
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 fileno
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 dup2
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 strcoll
...
$