Linux:显示二进制对象节大小,文本和数据段信息

时间:2020-01-09 10:41:34  来源:igfitidea点击:

如何在Linux操作系统下找出每个对象或二进制文件的bss,文本段和数据段的大小?

您需要使用size命令,该命令列出每个对象或归档文件objfile的节大小和总大小。
默认情况下,为归档文件中的每个目标文件或每个模块生成一行输出。
语法如下:

size /path/to/file

要显示有关httpd文件的信息,请执行:

size /usr/sbin/httpd

输出示例:

text	   data	    bss	    dec	    hex	filename
314213	  12376	  13304	 339893	  52fb5	/usr/sbin/httpd

其中:

  • 文本CPU将要执行的实际机器指令。 Linux允许共享此数据。
  • 数据在程序中声明的所有已初始化变量(声明)(例如,浮点工资= 123.45;)。
  • bss BSS由未初始化的数据组成,例如尚未设置任何值或为空指针的数组。

以上信息对于调试问题很有用。
这主要是"由C或系统程序员使用"。

readelf命令

readelf命令显示有关ELF文件的信息:

readelf -a /path/to/binary
readelf -a /usr/sbin/lighttpd