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