Tên gốc của tệp đối tượng không được lưu trữ trong thông tin gỡ lỗi DWARF.
Mỗi tệp đối tượng có mục nhập DW_TAG_compile_unit
trong mục .debug_info
. Mục nhập này chứa tham chiếu đến "tệp nguồn chính mà từ đó đơn vị biên dịch được bắt nguồn", nhưng không phải là tên của tệp đối tượng. The DWARF standard chứa danh sách các thuộc tính có thể được lưu trữ cho mỗi đơn vị biên dịch (mục 3.1.1, trang số 44, trang pdf 58).
Bạn có thể xem các thông tin được lưu trữ với lệnh sau đây:
$ readelf --debug-dump=info --dwarf-depth=1 hw
Output:
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>
Nguồn
2016-04-13 14:45:10