/debug (C# コンパイラ オプション)
/debug オプションを指定すると、コンパイラによってデバッグ情報が生成され、出力ファイルに格納されます。
/debug[+ | -]
/debug:{full | 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 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ] ページを開きます。
[ビルド] プロパティ ページをクリックします。
[詳細] をクリックします。
[デバッグ情報] プロパティを変更します。
このコンパイラ オプションをプログラムで設定する方法については、「DebugSymbols」を参照してください。
使用例
デバッグ情報をファイル app.pdb に出力する例を次に示します。
csc /debug /pdb:app.pdb test.cs