Les noms d'origine des fichiers objets ne sont pas stockés dans les informations de débogage DWARF. Chaque fichier objet porte une entrée DW_TAG_compile_unit
dans la section .debug_info
. Cette entrée contient une référence au "fichier source principal à partir duquel l'unité de compilation a été dérivée", mais pas le nom du fichier objet. The DWARF standard contient une liste des attributs qui peuvent être stockés pour chaque unité de compilation (section 3.1.1, page numéro 44, pdf page 58).
Vous pouvez afficher les informations qui sont stockées avec la commande suivante:
$ readelf --debug-dump=info --dwarf-depth=1 hw
sortie:
Contents of the .debug_info section:
<some compilation units removed>
Compilation Unit @ offset 0x133:
Length: 0x8b (32-bit)
Version: 4
Abbrev Offset: 0x64
Pointer Size: 4
<0><13e>: Abbrev Number: 1 (DW_TAG_compile_unit)
<13f> DW_AT_producer : (indirect string, offset: 0x131): GNU C11 5.3.0 -mtune=generic -march=pentiumpro -g
<143> DW_AT_language : 12 (ANSI C99)
<144> DW_AT_name : (indirect string, offset: 0x163): hw.c
<148> DW_AT_comp_dir : (indirect string, offset: 0x168): /home/mikel/src/hw
<14c> DW_AT_low_pc : 0x80483db
<150> DW_AT_high_pc : 0x2e
<154> DW_AT_stmt_list : 0xea
<1><158>: ...
<some compilation units removed>