63
SYMBOL TABLE:
0000000000000000  w      *UND*  0000000000000000              __gmon_start__

我有man objdump,但没有这样的信息。

有人知道这5列是什么意思吗?

4

5 回答 5

89

第一栏:交易品种的价值

第二列:一组字符和空格,指示在符号上设置的标志位。下面列出了七个分组:

第一组:(l,g,,!)本地,全球,既不,两者。

第二组:(w,)弱或强符号。

第三组: (C,) 符号表示构造函数或普通符号。

第四组:(W,)符号为警告或正常符号。

第五组:(I,)间接引用另一个符号或正常符号。

第六组:(d,D,)调试符号、动态符号或普通符号。

第七组: (F,f,O,) 符号是函数、文件、对象或普通符号的名称。

第三列:符号所在的部分,ABS表示与某个部分无关

第四列:符号的大小或对齐方式。

第五列:符号的名称。

如果您想了解更多信息,请尝试使用手册页 ;-) 或以下链接: http: //manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.htmlhttp://sourceware.org/binutils/docs /binutils/objdump.html

于 2013-05-09T22:04:11.997 回答
8

由于以前的答案似乎都不正确,因此您实际上正在寻找以下内容:

这是此链接中的一个片段,可能会有所帮助:

“另一种常见的输出格式,通常用于基于 ELF 的文件,如下所示:

      00000000 l    d  .bss   00000000 .bss
      00000000 g       .text  00000000 fred

这里的第一个数字是符号的值(有时称为它的地址)。下一个字段实际上是一组字符和空格,表示在符号上设置的标志位。这些字符如下所述。接下来是与符号关联的部分,如果该部分是绝对的(即不与任何部分连接),则为ABS ,如果在转储文件中引用了该部分,但未在此处定义,则为UND 。

在节名之后是另一个字段,一个数字,对于常用符号来说是对齐方式,对于其他符号来说是大小。最后显示符号的名称。”

于 2012-08-09T20:33:48.683 回答
7

objdump -t打印文件的符号表条目。
输出类似于nm程序提供的信息。

输出中有7 列

  • 价值
  • 班级
  • 类型
  • 尺寸
  • 线
  • 部分
  • 符号名称

(某些条目的某些列可能为空)

objdump最左边的列中打印符号名称nm最右边的列中打印符号名称

于 2012-07-13T14:36:30.440 回答
1

http://www.cs.swarthmore.edu/~newhall/unixhelp/compilecycle.html#runtime

$ nm --format sysv simple #system V 格式比默认的 bsd 格式更容易阅读

名称 值 类别 类型 尺寸 线段

...
富 |080484e6| T | 功能|0000000c| |.text
于 2011-07-13T10:43:58.797 回答
0

从man7.org 的 objdump 的手册页中对选项-t的描述,格式解释如下:

另一种常见的输出格式,通常用于基于 ELF 的文件,如下所示:

              00000000 l    d  .bss   00000000 .bss
              00000000 g       .text  00000000 fred
  • 这里的第一个数字是符号的值(有时称为它的地址)。
  • 下一个字段实际上是一组字符和空格,表示在符号上设置的标志位。这些字符如下所述。
  • 接下来是与符号关联的部分,如果该部分是绝对的(即不与任何部分连接),则为 *ABS*,如果在转储文件中引用了该部分,但未在此处定义,则为 *UND*。
  • 在节名之后是另一个字段,一个数字,对于常用符号来说是对齐方式,对于其他符号来说是大小。最后显示符号的名称。

您可以访问上述网站以获取更详细的说明。

于 2018-09-04T12:17:50.190 回答