2016-10-24 23 views
0

私はLinuxの下で働いていますが、 "-g"と "-ggdb"の効果はそれほど違いはないようです。私は "-ggdb"を使うとバイナリのバイト数が大きくなることが分かります。gcc: "-g"と "-ggdb"の違いは何ですか?

gdbの "-g"オプションと-ggdbオプションの違いは何ですか?

ありがとうございました。

答えて

2

コンパイルされたプログラムは、デバッガ(ここではGDB)がそれを調べて従うために、どこかに格納する必要があります。

これは、技術的には「デバッグデータ形式」と呼ばれます。

一部universaslly受け入れデバッグ用データ形式は、(いくつかのより多くがあります):

COFF - 共通オブジェクトファイル形式 - UNIX上のシステムのように。

PE/COFF - Portable Executable - Windowsでかなり有名ですが、通常はdotnetが使用します。

DWARF - UNIX系システムで広く使用されています。あなたは、あなたの質問に尋ね

など。

GDBのオプションは、これらのデバッグ用のデータ形式を生成するに関連しています。

ドキュメントに基づいて、funcdamentalの相違点は次のとおりです。 オプション "g"は、システムのネイティブ形式のデバッグデータを提供します。 オプション "-ggdb"はビットが豊富で高価です。利用可能な表現形式のデバッグデータを提供します。

関連する問題