GCCドキュメントこの-g
オプションを教えてくださいオペレーティングシステムのデフォルト形式(stabs、COFF、XCOFF、またはDWARF 2)でデバッグ情報を生成します。。
それでは、Linuxのデフォルトのデバッグシンボル形式は何ですか?これを何と呼びますか?
更新:ちょうど15歳の少年が見つかりましたgccメーリングリストディスカッション当時のネイティブフォーマットはStabsであり、以後DWARF2への切り替えを考慮していたそうです。しかし、それは15年前です...更新がありますか? =)
ベストアンサー1
Linuxでは、デフォルトはDwarf 2および/または4です。これを確認するには、readelf --debug-dump=info
Fedoraでデバッグシンボル(または削除されたシンボル)を含むバイナリで実行します。たとえば、glibc-debuginfo
インストール後に実行すると、readelf --debug-dump=info /usr/lib/debug/bin/gencat.debug
次の結果が表示されます。
<1><ea>: Abbrev Number: 0
Compilation Unit @ offset 0xeb:
Length: 0x5c (32-bit)
Version: 2
Abbrev Offset: 0x52
Pointer Size: 8
<0><f6>: Abbrev Number: 1 (DW_TAG_compile_unit)
<f7> DW_AT_stmt_list : 0x83
<fb> DW_AT_ranges : 0x0
<ff> DW_AT_name : ../sysdeps/x86_64/crti.S
<118> DW_AT_comp_dir : /usr/src/debug////////glibc-2.21/csu
<13d> DW_AT_producer : GNU AS 2.25
<149> DW_AT_language : 32769 (MIPS assembler)
これはDwarf 2情報セットです(Version:
バージョン情報はヘッダ参照。同じバイナリにはDwarf 2とDwarf 4の両方が含まれています)。