/debug (C# コンパイラ オプション)

/debug オプションを指定すると、コンパイラによってデバッグ情報が生成され、出力ファイルに格納されます。

/debug[+ | <U>-</U>]
/debug:{<U>full</U> | pdbonly}

引数

  • + | -
    + を指定するか、または単に /debug と指定すると、コンパイラによってデバッグ情報が生成され、その情報がプログラム データベース (.pdb ファイル) に出力されます。 - を指定すると、デバッグ情報は作成されません。/debug を指定しない場合は、- と同じ結果になります。

  • full | pdbonly
    コンパイラによって生成されるデバッグ情報の種類を指定します。 /debug:pdbonly を指定しない場合、つまり full 引数を使用すると、実行中のプログラムにデバッガーをアタッチできます。 pdbonly を指定すると、プログラムがデバッガーで開始されたときにはソース コードをデバッグできますが、実行中のプログラムをデバッガーにアタッチしたときはアセンブラーしか表示されません。

解説

このオプションを使用してデバッグ ビルドを作成します。 /debug/debug+/debug:full のいずれも指定しなかった場合、プログラムの出力ファイルをデバッグすることはできません。

/debug:full を使用する場合は、JIT によって最適化されるコードの速度とサイズに若干影響が生じる点に注意してください。また、/debug:full でデバッグした場合、わずかではありますが、コードの品質にも影響が生じます。 リリース バージョンのコードには、/debug:pdbonly を使用するか、PDB を一切使用しないことをお勧めします。

注意

/debug:pdbonly/debug:full の唯一の違いは、/debug:full でコンパイルした場合、デバッグ情報が利用可能であることを JIT コンパイラに通知するための DebuggableAttribute が生成される点です。 したがって、/debug:full を使用する場合に、コード内で DebuggableAttribute が false に設定されていると、エラーが生成されます。

アプリケーションのデバッグ パフォーマンスを構成する方法の詳細については、「イメージのデバッグの簡略化」を参照してください。

.pdb ファイルの場所を変更する方法については、「/pdb (C# コンパイラ オプション)」を参照してください。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ] ページを開きます。

  2. [ビルド] プロパティ ページをクリックします。

  3. [詳細] をクリックします。

  4. [デバッグ情報] プロパティを変更します。

このコンパイラ オプションをプログラムで設定する方法については、「DebugSymbols」を参照してください。

使用例

デバッグ情報をファイル app.pdb に出力する例を次に示します。

csc /debug /pdb:app.pdb test.cs

参照

その他の技術情報

C# コンパイラ オプション

プロジェクト プロパティ (Visual Studio)