デバッグ・オプションの概要

-g オプションを使用して、デバッグ情報を生成します。-g オプションを指定すると、コンパイラは、-O0 を起動して最適化を無効にします。-g または -O0 オプションを指定すると、自動的に -fp オプションが有効になります(IA-32 のみ)。-fp オプションは、汎用レジスタとしての EBP レジスタの使用を無効にします。

-O1-O2 または -O3 とともに、-g オプションを指定すると、-fp は無効になり、最適化に汎用レジスタとして EBP レジスタを使用できます。ただし、ほとんどのデバッガは、スタック・フレーム・ポインタとして EBP を使用するため、必要な操作をしない限りスタック・バックトレースを生成できません。-fp オプションを使用すると、生成するコードの効率が少し低下する場合があります。

オプション 結果
-g IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O0が有効になり、-fpが有効になります。

-g -O1

IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O1による最適化が有効になり、-fpが無効になります。

-g -O2

IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O2による最適化が有効になり、-fpが無効になります。

-g -O3

IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O3による最適化が有効になり、-fpが無効になります。

-g -O3 -fp

IA-32を対象にコンパイルする場合は、デバッグ情報が生成され、-O3による最適化が有効になり、-fpが有効になります。

-ip デバッグ用に生成したシンボルと行番号
-ipo デバッグ用に生成したシンボルと行番号