Section courante

A propos

Section administrative du site

readelf

Lecture ELF
Linux Externe

Syntaxe

readelf paramètres elffile

Paramètres

Nom Description
elffile Ce paramètres permet d'indiquer les fichiers objets à examiner. Les fichiers ELF de 32 bits et 64 bits sont pris en charge, tout comme les archives contenant des fichiers ELF.
-a Ce paramètre permet d'indiquer de toute affiché. Ce paramètre est équivalent de la combinaison des paramètres --file-header, --program-headers, --sections, --symbols, --relocs, --dynamic, --notes, --version-info, --arch-specific, --unwind, --section-groups et --histogram. Ce paramètre n'active pas --use-dynamic lui-même, donc si ce paramètre n'est pas présente sur la ligne de commande, les symboles dynamiques et les relocalisation dynamiques ne seront pas affichés.
-A Ce paramètre permet d'afficher les informations spécifiques à l'architecture dans le fichier, le cas échéant.
--archive-index Ce paramètre permet d'afficher les informations d'index des symboles de fichier contenues dans la partie d'entête des archives binaires. Effectue la même fonction que la commande t de ar, mais sans utiliser la bibliothèque BFD.
--arch-specific Ce paramètre permet d'afficher les informations spécifiques à l'architecture dans le fichier, le cas échéant.
--all Ce paramètre permet d'indiquer de toute affiché. Ce paramètre est équivalent de la combinaison des paramètres --file-header, --program-headers, --sections, --symbols, --relocs, --dynamic, --notes, --version-info, --arch-specific, --unwind, --section-groups et --histogram. Ce paramètre n'active pas --use-dynamic lui-même, donc si ce paramètre n'est pas présente sur la ligne de commande, les symboles dynamiques et les relocalisation dynamiques ne seront pas affichés.
-c Ce paramètre permet d'afficher les informations d'index des symboles de fichier contenues dans la partie d'entête des archives binaires. Effectue la même fonction que la commande t de ar, mais sans utiliser la bibliothèque BFD.
-ctf-parent=section Ce paramètre permet d'indiquer le nom d'une autre section à partir de laquelle le dictionnaire CTF peut hériter des types. (Si aucun n'est spécifié, nous supposons que le dictionnaire CTF hérite des types du membre nommé par défaut de l'archive contenue dans cette section.)
--ctf=section Ce paramètre permet d'afficher le contenu de la section CTF spécifiée. Les sections CTF elles-mêmes contiennent de nombreuses sous-sections, étant toutes affichées dans l'ordre.
--ctf-symbols=section
--ctf-strings=section
Ce paramètre permet d'indiquer que le nom d'une autre section à partir de laquelle le fichier CTF peut hériter des chaînes de caractères et des symboles. Par défaut, le .symtab et sa table de chaînes de caractères liée sont utilisés. Si l'un des --ctf-symboles ou --ctf-strings est spécifié, l'autre doit également être spécifié.
-d Ce paramètre permet d'afficher le contenu de la section dynamique du fichier, s'il en a un.
-D Ce paramètre permet à Readelf d'utiliser les tables de hachage de symboles dans la section dynamique du fichier, plutôt que les sections de table de symboles lors de l'affichage de symboles. Lors de l'affichage des relocalisations, ce paramètre permet à Readelf d'afficher les réinstallations dynamiques plutôt que les réinstallations statiques.
--decompress Ce paramètre permet de demander que la ou les sections vidées par les paramètres x, R ou p soient décompressées avant d'être affichées. Si la ou les sections ne sont pas compressées, elles sont affichées telles quelles.
--debug-dump[options] Ce paramètre permet d'afficher le contenu des sections de débogage DWARF du fichier, le cas échéant. Les sections de débogage compressées sont automatiquement décompressées (temporairement) avant d'être affichées. Si une ou plusieurs mots facultatifs suivent le paramètre, seuls ces types de données seront vidés. Les mots renvoient aux informations suivantes :
Valeur Description
=abbrev Ce mot permet d'afficher le contenu de la section «.debug_abbrev».
=addr Ce mot permet d'afficher le contenu de la section «.debug_addr».
=cu_index Ce mot permet d'afficher le contenu des sections «.debug_cu_index» et / ou «.debug_tu_index».
=frames Ce mot permet d'afficher le contenu brut d'une section «.debug_frame».
=frame-interp Ce mot permet d'afficher le contenu interprété d'une section «.debug_frame».
=gdb_index Ce mot permet d'afficher le contenu des sections «.gdb_index» et/ou «.debug_names».
=info Ce mot permet d'afficher le contenu de la section «.debug_info». Remarque : la sortie de cette option peut également être restreinte par l'utilisation des options --dwarf-depth et --dwarf-start.
=links Ce mot permet d'afficher le contenu de toutes les sections de débogage sélectionnées se trouvant dans des fichiers d'informations de débogage séparés et liés. Cela peut entraîner l'affichage de plusieurs versions de la même section de débogage si elle existe dans plusieurs fichiers. En outre, lors de l'affichage des attributs DWARF, si un formulaire fait référence au fichier d'informations de débogage séparé, le contenu référencé sera également affiché.
=follow-links Cette lettre permet d'afficher le contenu de toutes les sections de débogage sélectionnées se trouvant dans des fichiers d'informations de débogage séparés et liés. Cela peut entraîner l'affichage de plusieurs versions de la même section de débogage si elle existe dans plusieurs fichiers. En outre, lors de l'affichage des attributs DWARF, si un formulaire fait référence au fichier d'informations de débogage séparé, le contenu référencé sera également affiché.
=rawline Cette lettre permet d'afficher le contenu de la section «.debug_line» dans un format brut.
=decodedline Cette lettre permet d'afficher le contenu interprété de la section «.debug_line».
=macro Cette lettre permet d'afficher le contenu des sections «.debug_macro» et/ou «.debug_macinfo».
=loc Cette lettre permet d'afficher le contenu des sections «.debug_loc» et/ou «.debug_loclists».
=str-offsets Cette lettre permet d'afficher le contenu de la section «.debug_str_offsets».
=pubnames Cette lettre permet d'afficher le contenu des sections «.debug_pubnames» et/ou «.debug_gnu_pubnames».
=aranges Cette lettre permet d'afficheR le contenu de la section «.debug_aranges».
=Ranges Cette lettre permet d'afficher le contenu des sections «.debug_ranges» et/ou «.debug_rnglists».
=str Cette lettre permet d'afficher le contenu des sections «.debug_str», «.debug_line_str» et/ou «.debug_str_offsets».
=pubtype Cette lettre permet d'afficher le contenu des sections «.debug_pubtypes» et/ou «.debug_gnu_pubtypes».
=trace_aranges Cette lettre permet d'afficher le contenu de la section «.trace_aranges».
=trace_abbrev Cette lettre permet d'afficher le contenu de la section «.trace_abbrev».
=trace_info Cette lettre permet d'afficher le contenu de la section «.trace_info».
--dwarf-depth=n Ce paramètre permet de limiter le vidage de la section .debug_info à n enfants. Ceci n'est utile qu'avec --debug-dump=info. La valeur par défaut est d'afficher tous les DIE; la valeur spéciale 0 pour n aura également cet effet. Avec une valeur non nulle pour n, les DIE à ou plus profonds que n niveaux ne seront pas imprimés. La plage de n est basée sur zéro.
--dwarf-start=n Ce paramètre permet de n'afficher que les DIE commençant par le DIE numéroté n. Ceci n'est utile qu'avec --debug-dump=info. Si elle est spécifiée, ce paramètre supprimera l'affichage de toute information d'entête et de tous les DIE avant le DIE numéroté n. Seuls les frères et soeurs et les enfants du DIE spécifié seront affichés. Ce paramètre peut être utilisé avec --dwarf-depth.
--dynamic Ce paramètre permet d'afficher le contenu de la section dynamique du fichier, s'il en a un.
--dyn-syms Ce paramètre permet d'afficher les entrées dans la section de la table des symboles dynamiques du fichier, s'il en a une. Le format de sortie est le même que le format utilisé par le paramètre --syms.
-e Ce paramètre permet d'afficher tous les entêtes du fichier. Équivalent à de la combinaison des paramètres -h, -l et -S.
--enable-checks Ce paramètre permet d'afficher des messages d'avertissement concernant d'éventuels problèmes avec les fichiers examinés. S'il est utilisé seul, tout le contenu du ou des fichiers sera examiné. S'il est utilisé avec l'une des paramètres de vidage, les messages d'avertissement ne seront générés que pour les éléments affichés.
--file-header Ce paramètre permet d'afficher les informations contenues dans l'entête ELF au début du fichier.
-g Ce paramètre permet d'afficher les informations contenues dans les groupes de sections du fichier, s'il en existe.
-h Ce paramètre permet d'afficher les informations contenues dans l'entête ELF au début du fichier.
-H Ce paramètre permet d'afficher les options de ligne de commande comprises par readelf.
--headers Ce paramètre permet d'afficher tous les entêtes du fichier. Équivalent à de la combinaison des paramètres -h, -l et -S.
--help Ce paramètre permet d'afficher les options de ligne de commande comprises par readelf.
--hex-dump=number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme d'octets hexadécimaux. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne de caractères identifie toutes les sections portant ce nom dans le fichier objet.
--histogram Ce paramètre permet d'afficher un histogramme des longueurs de liste de compartiments lors de l'affichage du contenu des tables de symboles.
-I Ce paramètre permet d'afficher un histogramme des longueurs de liste de compartiments lors de l'affichage du contenu des tables de symboles.
-l Ce paramètre permet d'afficher les informations contenues dans les entêtes de segment du fichier, le cas échéant.
-L Ce paramètre permet d'afficher des messages d'avertissement concernant d'éventuels problèmes avec les fichiers examinés. S'il est utilisé seul, tout le contenu du ou des fichiers sera examiné. S'il est utilisé avec l'une des paramètres de vidage, les messages d'avertissement ne seront générés que pour les éléments affichés.
-n Ce paramètre permet d'afficher le contenu des segments et/ou sections NOTE, le cas échéant.
--notes Ce paramètre permet d'afficher le contenu des segments et/ou sections NOTE, le cas échéant.
-p number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme de chaînes de caractères affichables. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne identifie toutes les sections portant ce nom dans le fichier objet.
--program-headers Ce paramètre permet d'afficher les informations contenues dans les entêtes de segment du fichier, le cas échéant.
-r Ce paramètre permet d'afficher le contenu de la section de relocalisation du fichier, s'il en a une.
-R number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme d'octets hexadécimaux. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne identifie toutes les sections portant ce nom dans le fichier objet. Le contenu de la section sera déplacé avant d'être affiché.
--relocated-dump=number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme d'octets hexadécimaux. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne identifie toutes les sections portant ce nom dans le fichier objet. Le contenu de la section sera déplacé avant d'être affiché.
--relocs Ce paramètre permet d'afficher le contenu de la section de relocalisation du fichier, s'il en a une.
-s Ce paramètre permet d'afficher les entrées dans la section de la table des symboles du fichier, le cas échéant. Si des informations de version sont associées à un symbole, elles s'affichent également. La chaîne de caractères de version est affichée sous forme de suffixe au nom du symbole, précédé d'un caractère @. Par exemple «gladir@VER_1». Si la version est la version par défaut à utiliser lors de la résolution des références non versionnées au symbole, elle s'affiche sous la forme d'un suffixe précédé de deux caractères @. Par exemple «gladir@@VER_2».
-S Ce paramètre permet d'afficher les informations contenues dans les entêtes de section du fichier, le cas échéant.
--section-details Ce paramètre permet d'afficher les informations détaillées sur la section. Implique le paramètre -S.
--section-groups Ce paramètres permet d'afficher les informations contenues dans les groupes de sections du fichier, s'il en existe.
--section-headers Ce paramètre permet d'afficher les informations contenues dans les entêtes de section du fichier, le cas échéant.
--sections Ce paramètre permet d'afficher les informations contenues dans les entêtes de section du fichier, le cas échéant.
--segments Ce paramètre permet d'afficher les informations contenues dans les entêtes de segment du fichier, le cas échéant.
--silent-truncation Ce paramètre permet de tronquer le nom tronquer le nom pour qu'il tienne dans un affichage de 80 colonnes. Normalement, lorsque readelf affiche un nom de symbole et qu'il doit tronquer le nom pour qu'il tienne dans un affichage de 80 colonnes, il ajoutera un suffixe de [...] au nom. Ce paramètre de ligne de commande désactive ce comportement, permettant d'afficher 5 caractères supplémentaires du nom et de restaurer l'ancien comportement de readelf (avant la version 2.35).
--string-dump=number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme de chaînes de caractères affichables. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne identifie toutes les sections portant ce nom dans le fichier objet.
--symbols Ce paramètre permet d'afficher les entrées dans la section de la table des symboles du fichier, le cas échéant. Si des informations de version sont associées à un symbole, elles s'affichent également. La chaîne de caractères de version est affichée sous forme de suffixe au nom du symbole, précédé d'un caractère @. Par exemple «gladir@VER_1». Si la version est la version par défaut à utiliser lors de la résolution des références non versionnées au symbole, elle s'affiche sous la forme d'un suffixe précédé de deux caractères @. Par exemple «gladir@@VER_2».
--syms Ce paramètre permet d'afficher les entrées dans la section de la table des symboles du fichier, le cas échéant. Si des informations de version sont associées à un symbole, elles s'affichent également. La chaîne de caractères de version est affichée sous forme de suffixe au nom du symbole, précédé d'un caractère @. Par exemple «gladir@VER_1». Si la version est la version par défaut à utiliser lors de la résolution des références non versionnées au symbole, elle s'affiche sous la forme d'un suffixe précédé de deux caractères @. Par exemple «gladir@@VER_2».
-t Ce paramètre permet d'afficher les informations détaillées sur la section. Implique le paramètre -S.
-T Ce paramètre permet de tronquer le nom tronquer le nom pour qu'il tienne dans un affichage de 80 colonnes. Normalement, lorsque readelf affiche un nom de symbole et qu'il doit tronquer le nom pour qu'il tienne dans un affichage de 80 colonnes, il ajoutera un suffixe de [...] au nom. Ce paramètre de ligne de commande désactive ce comportement, permettant d'afficher 5 caractères supplémentaires du nom et de restaurer l'ancien comportement de readelf (avant la version 2.35).
-u Ce paramètre permet d'afficher le contenu de la section déroulante du fichier, s'il en a une. Seules les sections de déroulement IA64 des fichiers de ELF, ainsi que les tables de déroulement ARM (.ARM.exidx / .ARM.extab) sont actuellement prises en charge. Si le support n'est pas encore mise en oeuvre pour votre architecture, vous pouvez essayer de vider le contenu de la section .eh_frames en utilisant les options --debug-dump=frames ou --debug-dump=frames-interp.
--unwind Ce paramètre permet d'afficher le contenu de la section déroulante du fichier, s'il en a une. Seules les sections de déroulement IA64 des fichiers de ELF, ainsi que les tables de déroulement ARM (.ARM.exidx / .ARM.extab) sont actuellement prises en charge. Si le support n'est pas encore mise en oeuvre pour votre architecture, vous pouvez essayer de vider le contenu de la section .eh_frames en utilisant les options --debug-dump=frames ou --debug-dump=frames-interp.
--use-dynamic Ce paramètre permet à Readelf d'utiliser les tables de hachage de symboles dans la section dynamique du fichier, plutôt que les sections de table de symboles lors de l'affichage de symboles. Lors de l'affichage des relocalisations, ce paramètre permet à Readelf d'afficher les réinstallations dynamiques plutôt que les réinstallations statiques.
-v Ce paramètre permet d'afficher le numéro de version de readelf.
-V Ce paramètre permet d'afficher le contenu des sections de version dans le fichier, s'il existe.
--version Ce paramètre permet d'afficher le numéro de version de readelf.
--version-info Ce paramètre permet d'afficher le contenu des sections de version dans le fichier, s'il existe.
-w[lLiaprmfFsOoRtUuTgAckK] Ce paramètre permet d'afficher le contenu des sections de débogage DWARF du fichier, le cas échéant. Les sections de débogage compressées sont automatiquement décompressées (temporairement) avant d'être affichées. Si une ou plusieurs lettres facultatifs suivent le paramètre, seuls ces types de données seront vidés. Les lettres renvoient aux informations suivantes :
Valeur Description
a Cette lettre permet d'afficher le contenu de la section «.debug_abbrev».
A Cette lettre permet d'afficher le contenu de la section «.debug_addr».
c Cette lettre permet d'afficher le contenu des sections «.debug_cu_index» et / ou «.debug_tu_index».
f Cette lettre permet d'afficher le contenu brut d'une section «.debug_frame».
F Cette lettre permet d'afficher le contenu interprété d'une section «.debug_frame».
g Cette lettre permet d'afficher le contenu des sections «.gdb_index» et/ou «.debug_names».
i Cette lettre permet d'afficher le contenu de la section «.debug_info». Remarque : la sortie de cette option peut également être restreinte par l'utilisation des options --dwarf-depth et --dwarf-start.
k Cette lettre permet d'afficher le contenu des sections «.gnu_debuglink» et/ou «.gnu_debugaltlink». Affiche également tous les liens vers des fichiers d'objets nains séparés (dwo), s'ils sont spécifiés par les attributs DW_AT_GNU_dwo_name ou DW_AT_dwo_name dans la section «.debug_info».
K Cette lettre permet d'afficher le contenu de toutes les sections de débogage sélectionnées se trouvant dans des fichiers d'informations de débogage séparés et liés. Cela peut entraîner l'affichage de plusieurs versions de la même section de débogage si elle existe dans plusieurs fichiers. En outre, lors de l'affichage des attributs DWARF, si un formulaire fait référence au fichier d'informations de débogage séparé, le contenu référencé sera également affiché.
l Cette lettre permet d'afficher le contenu de la section «.debug_line» dans un format brut.
L Cette lettre permet d'afficher le contenu interprété de la section «.debug_line».
m Cette lettre permet d'afficher le contenu des sections «.debug_macro» et/ou «.debug_macinfo».
o Cette lettre permet d'afficher le contenu des sections «.debug_loc» et/ou «.debug_loclists».
O Cette lettre permet d'afficher le contenu de la section «.debug_str_offsets».
p Cette lettre permet d'afficher le contenu des sections «.debug_pubnames» et/ou «.debug_gnu_pubnames».
r Cette lettre permet d'afficheR le contenu de la section «.debug_aranges».
R Cette lettre permet d'afficher le contenu des sections «.debug_ranges» et/ou «.debug_rnglists».
s Cette lettre permet d'afficher le contenu des sections «.debug_str», «.debug_line_str» et/ou «.debug_str_offsets».
t Cette lettre permet d'afficher le contenu des sections «.debug_pubtypes» et/ou «.debug_gnu_pubtypes».
T Cette lettre permet d'afficher le contenu de la section «.trace_aranges».
u Cette lettre permet d'afficher le contenu de la section «.trace_abbrev».
U Cette lettre permet d'afficher le contenu de la section «.trace_info».
-W Ce paramètre permet de ne pas couper les lignes de sortie pour qu'elles tiennent dans 80 colonnes. Par défaut, readelf coupe les lignes d'entête de section et de liste de segments pour les fichiers ELF de 64 bits, de sorte qu'ils tiennent dans 80 colonnes. Cette option amène readelf à afficher chaque entête de section resp. Chaque segment une seule ligne, ce qui est beaucoup plus lisible sur les terminaux de plus de 80 colonnes.
--wide Ce paramètre permet de ne pas couper les lignes de sortie pour qu'elles tiennent dans 80 colonnes. Par défaut, readelf coupe les lignes d'entête de section et de liste de segments pour les fichiers ELF de 64 bits, de sorte qu'ils tiennent dans 80 colonnes. Cette option amène readelf à afficher chaque entête de section resp. Chaque segment une seule ligne, ce qui est beaucoup plus lisible sur les terminaux de plus de 80 colonnes.
-x number_or_name Ce paramètre permet d'afficher le contenu de la section indiquée sous forme d'octets hexadécimaux. Un nombre identifie une section particulière par index dans le tableau des sections; toute autre chaîne de caractères identifie toutes les sections portant ce nom dans le fichier objet.
-z Ce paramètre permet de demander que la ou les sections vidées par les paramètres x, R ou p soient décompressées avant d'être affichées. Si la ou les sections ne sont pas compressées, elles sont affichées telles quelles.

Description

Cette commande permet d'afficher des informations sur un ou plusieurs fichiers objets au format ELF.

Remarque

Installation

On peut installer la commande readelf sur la distribution Ubuntu à l'aide la commande suivante :

sudo apt install binutils

Exemples

L'exemple suivant permet d'afficher les entêtes du fichier monfichier :

readelf monfichier -h

L'exemple suivant permet d'afficher toutes les informations du fichier monfichier :

readelf monfichier -a


Dernière mise à jour : Mercredi, le 16 décembre 2020