NAME
readelf - 显示有关ELF文件的信息。
SYNOPSIS
readelf [-a|--all] [-h|--file-header] [-l|--program-headers|--segments] [-S|--section-headers|--sections] [-g|--section-groups] [-t|--section-details] [-e|--headers] [-s|--syms|--symbols] [-n|--notes] [-r|--relocs] [-u|--unwind] [-d|--dynamic] [-V|--version-info] [-A|--arch-specific] [-D|--use-dynamic] [-x <number or name>|--hex-dump=<number or name>] [-p <number or name>|--string-dump=<number or name>] [-R <number or name>|--relocated-dump=<number or name>] [-c|--archive-index] [-w[lLiaprmfFsoR]| --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges, =macro,=frames,=frames-interp,=str,=loc,=Ranges]] [-I|-histogram] [-v|--version] [-W|--wide] [-H|--help] elffile...
DESCRIPTION
readelf显示有关一个或多个ELF格式对象文件的信息。选项控制要显示的特定信息。
elffile …是要检查的目标文件。 支持32位和64位ELF文件,以及包含ELF文件的存档。
该程序执行与objdump类似的功能,但它更详细,它独立于BFD库存在,所以如果BFD中有错误则readelf不会受到影响。
OPTIONS
这里显示的长和短形式的选项是等价的。 除了-v
或-H
之外,必须至少提供一个选项。
-a --all
相当于指定--file-header --program-headers --sections --symbols --relocs --dynamic --notes和--version-info
。-h --file-header
显示文件开头的ELF头中包含的信息-l --program-headers --segments
显示文件的segment头中包含的信息(如果有)。-S --sections --section-headers
显示文件的section头中包含的信息(如果有)。-g --section-groups
显示文件的section group中包含的信息(如果有)。-t --section-details
显示详细的section信息。意味着-S
。-s --symbols --syms
显示文件的symbol table section中的条目(如果有)。-e --headers
显示文件中的所有headers。相当于-h -l -S
。-n --notes
显示NOTE segment(和/或)section的内容(如果有)。-r --relocs
显示文件relocation section的内容(如果有)。-u --unwind
显示文件的unwind section的内容(如果有)。目前仅支持IA64 ELF文件的unwind section-d --dynamic
显示文件dynamic section的内容(如果有)。-V --version-info
显示文件中version section的内容,如果存在。-A --arch-specific
显示文件中特定于体系结构的信息(如果有)。-D --use-dynamic
显示符号时,此选项使readelf使用文件dynamic section中的符号表,而不是symbol section中的符号表。-x <number or name> --hex-dump=<number or name>
以十六进制字节显示indecated section的内容。一个数字通过索引section表标识一个特定的section;任何其他string标识目标文件中具有该名称的所有section。-R <number or name> --relocated-dump=<number or name>
以十六进制字节显示indecated section的内容。一个数字通过索引section表标识一个特定的section;任何其他string标识目标文件中具有该名称的所有section。该section的内容将在显示之前重新定位。-p <number or name> --string-dump=<number or name>
将indicated section的内容显示为可打印字符串。一个数字通过索引section表标识一个特定的section;任何其他string标识目标文件中具有该名称的所有section。-c --archive-index
显示二进制归档的header部分中包含的文件符号索引信息。对ar执行与t命令相同的功能,但不使用BFD库。-w[lLiaprmfFsoR] --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]
显示文件中debug section的内容(如果存在)。 如果后面有一个可选的字母或单词,则只会转储在这些特定部分中找到的数据。
注意:=codedline
选项将显示.debug_line section
解释后的内容,而=rawline
选项将以原始格式转储内容。-I --histogram
显示符号表的内容时,显示桶列表长度的直方图。-v --version
显示readelf的版本号。-W --wide
不破坏输出线以适应80列。 默认情况下,readelf会断开64位ELF文件的section header和segment 列表行,以便它们适合80列。 此选项使readelf打印每个节标题resp。 每个segment只有一行,在80列以上的终端上可读性更高。-H --help
显示readelf理解的命令行选项。- @file
从文件中读取命令行选项。读取的选项将替换原始@file选项。 如果文件不存在或无法读取,则该选项将按字面处理,而不会被删除。
文件中的选项由空格分隔。通过用单引号或双引号括起整个选项,可以在选项中包含空格字符。可以通过在字符前加上反斜杠来包含任何字符(包括反斜杠)。该文件本身可能包含其他@file选项; 任何此类选项将以递归方式处理。