Die ursprünglichen Namen der Objektdateien werden nicht in den DWARF-Debuginformationen gespeichert.
Jede Objektdatei hat einen DW_TAG_compile_unit
Eintrag im Bereich .debug_info
. Dieser Eintrag enthält einen Verweis auf die "primäre Quelldatei , von der die Übersetzungseinheit abgeleitet wurde", nicht aber den Namen der Objektdatei. The DWARF standard enthält eine Liste der Attribute, die für jede Kompilierungseinheit gespeichert werden können (Abschnitt 3.1.1, Seite 44, pdf Seite 58).
Sie können die Informationen anzeigen, die mit dem folgenden Befehl gespeichert ist:
$ readelf --debug-dump=info --dwarf-depth=1 hw
Ausgang:
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>