debug (Windows*)

オブジェクト・ファイルに生成するデバッグ情報の種類を指定します。

IDE オプション

なし

アーキテクチャー

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

構文

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

引数

keyword コンパイラーが生成するデバッグ情報の種類。設定可能な値は以下のとおりです。
  none シンボルテーブル情報を生成しません。
  minimal 行番号と最小限のデバッグ情報を生成します。
  partial リンクに必要なグローバル・シンボル・テーブル情報を生成します。
  full 完全なデバッグ情報を生成します。
  [no]semantic_stepping ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成するかどうかを指定します。
  extended semantic_stepping を有効にします。

デフォルト

/debug:none コマンドラインと IDE のリリース構成のデフォルトです。
/debug:full IDE のデバッグ構成のデフォルトです。

説明

このオプションは、オブジェクト・ファイルにコンパイラーが生成するデバッグ情報の種類を指定します。

デバッグ情報の種類には、次のものがあります。

オプション 説明
/debug:none シンボルテーブル情報を生成しません。この /debug オプションは、最小サイズのオブジェクト・モジュールを生成して、リンカーに /debug:none を渡します。
/debug:minimal 行番号と最小限のデバッグ情報のみを生成します。リンクに必要なグローバル・シンボル・テーブル情報は生成しますが、デバッグに必要なローカル・シンボル・テーブル情報は生成しません。オブジェクト・モジュールのサイズは、/debug:none を指定した場合よりも若干大きくなりますが、/debug:full を指定した場合よりは小さくなります。このオプションは、リンカーに /debug:minimal を渡します。
/debug:partial リンクに必要なグローバル・シンボル・テーブル情報は生成しますが、デバッグに必要なローカル・シンボル・テーブル情報は生成しません。オブジェクト・モジュールのサイズは、/debug:none を指定した場合よりも若干大きくなりますが、/debug:full を指定した場合よりは小さくなります。このオプションは、リンカーに /debug:partial を渡します。
注: このオプションは IDE では利用できません。
/debug:full または /debug 完全なデバッグ情報を生成します。非最適化コードのシンボリック・デバッグに必要なローカル・シンボル・テーブル情報とリンクに必要なグローバル・シンボル・テーブル情報を生成します。最大サイズのオブジェクト・モジュールを生成します。このオプションは、リンカーに /debug:full を渡します。C ライブラリー・ルーチンを呼び出すアプリケーションに対して /debug:full を指定し、C ライブラリーへの呼び出しをデバッグする場合、適切な C デバッグ・ライブラリーへリンクさせるために、/dbglibs も指定する必要があります。
/debug:semantic_stepping ブレークポイントとステップ処理に役立つ拡張デバッグ情報を生成します。
最終的に影響するソース文のマシン命令でデバッガーを停止します。例えば、代入文の場合、プログラム変数に値を代入するストア命令になります。関数呼び出しの場合、呼び出しを実行するマシン命令になります。これらのソース文用に生成された他の命令は、ステップ処理中は表示されません。
/debug:extended デバッグオプション semantic_stepping を有効にします。

代替オプション

/debug:minimal Linux および Mac OS X: なし
Windows: /Zd (これは古いオプションです)
/debug:full または /debug Linux および Mac OS X: なし
Windows: /Zi/Z7