SYMBOL TABLE: 0000000000000000 w *UND* 0000000000000000 __gmon_start__
我有 man objdump,但没有这样的信息。
man objdump
有人知道 5列是什么意思吗?
Http://www.cs.swarthmore.edu/~newhall/unixhelp/compilecycle.html#runtime
$ nm --format sysv simple # system V format is easier to read than bsd format which is the default Name Value Class Type Size Line Section ... foo |080484e6| T | FUNC|0000000c| |.text
Objecdump-t 打印文件的符号表条目。 输出类似于 纳米程序提供的信息。
输出中有 < em > 7栏 :
(某些列可能为某些条目空)
Objecdump 打印 最左边的柱子中的 符号-名称。 Nm 打印 最右边的柱子中的 符号-名称。
由于之前的答案似乎都不正确,以下是你实际上在寻找的答案:
这里有一段来自 链接的片段可能会有所帮助:
”另一种常见的输出格式,通常在基于 ELF 的文件中可以看到,如下所示:
00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred
这里的第一个数字是符号的值(有时称为其地址)。下一个字段实际上是一组字符和空格,指示在符号上设置的标志位。下面对这些字符进行了描述。接下来是与符号相关联的部分,如果该部分是绝对的(即不与任何部分连接) ,则为 ABS,如果该部分在被转储的文件中被引用,但没有在该文件中定义,则为 而且。
在节名之后是另一个字段,一个数字,对于普通符号是对齐,对于其他符号是大小。最后显示标志的名称。”
第一栏: 符号的价值
第二列: 一组字符和空格,指示在符号上设置的标志位。以下是七个分组:
第一组: (l,g,,!)本地的,全球的,都不是,都不是。
第二组: (w,)弱或强符号。
组三: (C,)符号表示构造函数或普通符号。
组四: (W,)符号是警告或正常符号。
第五组: (I)间接引用另一个符号或正常符号。
组六: (d,D,)调试符号,动态符号或标准符号。
组七: (F,f,O,)符号是函数、文件、对象或正常符号的名称。
第三列: 符号所在的部分,ABS表示与某一部分无关
第四列: 符号的大小或对齐方式。
第五列: 符号的名称。
如果你想要更多的信息,请尝试您的手册页; ——或以下链接: https://manpages.ubuntu.com/manpages/kinetic/en/man1/objdump.1.html和 https://sourceware.org/binutils/docs/binutils/objdump.html
根据 来自 man7.org 的 objecdump 的手册页中对选项 T的说明,格式如下:
另一种常见的输出格式(通常在基于 ELF 的文件中可以看到)如下:
这里的第一个数字是符号的值(有时称为其地址)。 下一个字段实际上是一组字符和空格,指示在符号上设置的标志位。下面对这些字符进行了描述。 接下来是与符号相关联的节,或者如果该节是绝对的(即不与任何节连接) ,则为 * ABS * ,或者如果在转储的文件中引用了该节,但没有在该文件中定义该节,则为 * UND* 。 在节名之后是另一个字段,一个数字,对于普通符号是对齐,对于其他符号是大小。最后显示符号的名称。
您可以访问上述网站获得更详细的描述。