debug (Linux* および Mac OS*)

コンパイラーが生成するデバッグ情報の種類を指定します。

IDE オプション

なし

アーキテクチャー

IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー、IA-64 アーキテクチャー

構文

Linux および Mac OS: -debug [keyword]
Windows*:  なし

引数

keyword コンパイラーが生成するデバッグ情報の種類。設定可能な値は以下のとおりです。
  full 詳細なデバッグ情報を生成します。
  all 詳細なデバッグ情報を生成します (full と同じ)。
  minimal デバッグの行番号情報を生成します。
  none デバッグ情報の生成を無効にします。
  [no]expr-source-pos 式レベルの粒度でソース位置情報を生成するかどうかを指定します。
  [no]inline-debug-info インラインコードの拡張デバッグ情報を生成するかどうかを指定します。
  [no]semantic-stepping ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成するかどうかを指定します。
  [no]variable-locations スカラーローカル変数の検索に役立つ拡張デバッグ情報を生成するかどうかを指定します。
  extended semantic-steppingvariable-locations を有効にします。

デフォルト

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

説明

このオプションは、コンパイラーが生成するデバッグ情報の種類を指定します。

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

オプション 説明
-debug full または
-debug all
詳細なデバッグ情報を生成します。keyword なしで -debug を指定した場合のデフォルトです。
-debug minimal デバッグの行番号情報を生成します。
-debug none デバッグ情報の生成を無効にします。
-debug expr-source-pos 文レベルの粒度でソース位置情報を生成します。
-debug inline-debug-info インラインコードの拡張デバッグ情報を生成します。
関数呼び出しのトレースバック用により多くの情報をデバッガーに提供します。インテル(R) デバッガー (IDB) は、拡張デバッグ情報を使用してインライン関数の呼び出しフレームのシミュレーションを表示するように拡張されました。
-debug semantic-stepping ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成します。
最終的に影響するソース文のマシン命令でデバッガーを停止します。例えば、代入文の場合、プログラム変数に値を代入するストア命令になります。関数呼び出しの場合、呼び出しを実行するマシン命令になります。これらのソース文用に生成された他の命令は、ステップ処理中は表示されません。
-debug variable-locations スカラーローカル変数の検索に役立つ拡張デバッグ情報を生成します。
「ロケーション・リスト」として知られる Dwarf オブジェクト・モジュールの機能を使用します。この機能は、ローカルスカラー変数のランタイム・ロケーションがより正確に指定されるようにします。つまり、コード中の指定された位置において、メモリーまたはマシンレジスターにある変数値を見つけることができます。インテル・デバッガー (IDB) は、ロケーション・リストを処理して、ローカル変数値をより正確にランタイム時に表示できます。
-debug extended デバッグオプション semantic-stepping および variable-locations を設定します。

代替オプション

-debug inline-debug-info Linux: -inline-debug-info
Mac OS: なし
Windows: なし