debug (Linux* OS および Mac OS* X)

 

デバッグ情報の生成を有効/無効にします。

IDE オプション

なし

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-debug[keyword]

Windows:

なし

引数

keyword

コンパイラーが生成するデバッグ情報の種類。設定可能な値は以下のとおりです。

none

デバッグ情報の生成を無効にします。

full または all

詳細なデバッグ情報を生成します。

minimal

デバッグの行番号情報を生成します。

[no]emit_column

デバッグ用に列番号情報を生成するかどうかを指定します。

[no]inline-debug-info

インラインコードの拡張デバッグ情報を生成するかどうかを指定します。

[no]semantic-stepping

ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成するかどうかを指定します。

[no]variable-locations

スカラーローカル変数の検索に役立つ拡張デバッグ情報を生成するかどうかを指定します。

extended

キーワード値 semantic-stepping および variable-locations を設定します。

これらのキーワードのデフォルト以外の設定については、「説明」セクションを参照してください。

デフォルト

-debug none

デバッグ情報を生成しません。

説明

このオプションは、デバッグ情報の生成を有効/無効にします。

デバッグを有効にすると、最適化が無効になります。

semantic-steppinginline-debug-infovariable-locations および extended キーワードはそれぞれを組み合わせて使用することができます。競合するキーワードが一緒に使用された場合、コマンドラインで最後に指定されたものが優先されます。

オプション

説明

-debug none

デバッグ情報の生成を無効にします。

-debug full または -debug all

詳細なデバッグ情報を生成します。これは、keyword なしで -debug を指定するのと同じです。

-debug minimal

デバッグの行番号情報を生成します。

-debug emit_column

デバッグの列番号情報を生成します。

-debug inline-debug-info

インラインコードの拡張デバッグ情報を生成します。関数呼び出しのトレースバック用により多くの情報をデバッガーに提供します。

-debug semantic-stepping

ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成します。最終的に影響するソース文のマシン命令でデバッガーを停止します。

例えば、代入文の場合、プログラム変数に値を代入するストア命令になります。関数呼び出しの場合、呼び出しを実行するマシン命令になります。これらのソース文用に生成された他の命令は、ステップ処理中は表示されません。

このオプションは、最適化が有効でないと効果はありません。

-debug variable-locations

スカラーローカル変数の検索に役立つ拡張デバッグ情報を生成します。「ロケーション・リスト」として知られる Dwarf オブジェクト・モジュールの機能を使用します。

この機能は、ローカルスカラー変数のランタイム・ロケーションがより正確に指定されるようにします。つまり、コード中の指定された位置において、メモリーまたはマシンレジスターにある変数値を見つけることができます。

-debug extended

キーワード値 semantic-stepping および variable-locations を設定します。また、行情報に列番号を含めるようにコンパイラーに指示します。

Linux システムでは、デバッガーは実行ファイルからデバッグ情報を読み取ります。そのため、情報はオブジェクト・ファイルに書き込まれ、そしてリンカーにより実行ファイルに追加されます。Mac OS X システムでは、デバッガーはオブジェクト・ファイルからデバッグ情報を読み取ります。そのため、実行ファイルにはデバッグ情報が含まれません。したがって、これらのシステムでデバッグを行う場合は、オブジェクト・ファイルを残しておかなければなりません。

代替オプション

debug full-debug all、または -debug の場合

Linux および Mac OS X: -g

Windows: /debug:full/debug:all、または /debug

-debug inline-debug-info の場合

Linux および Mac OS X: -inline-debug-info (これは古いオプションです)

Windows: なし

関連情報