私はLinuxの下で働いていますが、 "-g"と "-ggdb"の効果はそれほど違いはないようです。私は "-ggdb"を使うとバイナリのバイト数が大きくなることが分かります。gcc: "-g"と "-ggdb"の違いは何ですか?
gdbの "-g"オプションと-ggdbオプションの違いは何ですか?
ありがとうございました。
私はLinuxの下で働いていますが、 "-g"と "-ggdb"の効果はそれほど違いはないようです。私は "-ggdb"を使うとバイナリのバイト数が大きくなることが分かります。gcc: "-g"と "-ggdb"の違いは何ですか?
gdbの "-g"オプションと-ggdbオプションの違いは何ですか?
ありがとうございました。
コンパイルされたプログラムは、デバッガ(ここではGDB)がそれを調べて従うために、どこかに格納する必要があります。
これは、技術的には「デバッグデータ形式」と呼ばれます。
一部universaslly受け入れデバッグ用データ形式は、(いくつかのより多くがあります):
COFF - 共通オブジェクトファイル形式 - UNIX上のシステムのように。
PE/COFF - Portable Executable - Windowsでかなり有名ですが、通常はdotnetが使用します。
DWARF - UNIX系システムで広く使用されています。あなたは、あなたの質問に尋ね
など。
GDBのオプションは、これらのデバッグ用のデータ形式を生成するに関連しています。
ドキュメントに基づいて、funcdamentalの相違点は次のとおりです。 オプション "g"は、システムのネイティブ形式のデバッグデータを提供します。 オプション "-ggdb"はビットが豊富で高価です。利用可能な表現形式のデバッグデータを提供します。
documentationとこのtopicをお読みになることをお勧めします。