-debug (C# コンパイラ オプション)-debug (C# Compiler Options)

-debug オプションを指定すると、コンパイラによってデバッグ情報が生成され、出力ファイルに格納されます。The -debug option causes the compiler to generate debugging information and place it in the output file or files.


-debug[+ | -]  
-debug:{full | pdbonly}  


+ | -+ | -
+ を指定するか、または単に -debug と指定すると、コンパイラによってデバッグ情報が生成され、その情報がプログラム データベース (.pdb ファイル) に出力されます。Specifying +, or just -debug, causes the compiler to generate debugging information and place it in a program database (.pdb file). -debug を指定しない場合、- の指定が有効となります。これを指定した場合、デバッグ情報は作成されません。Specifying -, which is in effect if you do not specify -debug, causes no debug information to be created.

full | pdbonlyfull | pdbonly
コンパイラによって生成されるデバッグ情報の種類を指定します。Specifies the type of debugging information generated by the compiler. full 引数を使用すると (-debug:pdbonly を指定しない場合)、実行中のプログラムにデバッガーをアタッチできます。The full argument, which is in effect if you do not specify -debug:pdbonly, enables attaching a debugger to the running program. pdbonly を指定すると、プログラムがデバッガーで開始されたときにはソース コードをデバッグできますが、実行中のプログラムをデバッガーにアタッチしたときはアセンブラーしか表示されません。Specifying pdbonly allows source code debugging when the program is started in the debugger but will only display assembler when the running program is attached to the debugger.


このオプションを使用してデバッグ ビルドを作成します。Use this option to create debug builds. -debug-debug+、または -debug:full のいずれも指定しなかった場合、プログラムの出力ファイルをデバッグすることはできません。If -debug, -debug+, or -debug:full is not specified, you will not be able to debug the output file of your program.

-debug:full を使用する場合は、JIT によって最適化されるコードの速度とサイズに若干影響が生じる点に注意してください。また、-debug:full でデバッグした場合、わずかではありますが、コードの品質にも影響が生じます。If you use -debug:full, be aware that there is some impact on the speed and size of JIT optimized code and a small impact on code quality with -debug:full. 生成されるリリース コードには、-debug:pdbonly を使用するか、PDB を一切使用しないことをお勧めします。We recommend -debug:pdbonly or no PDB for generating release code.


-debug:pdbonly-debug:full の唯一の違いは、-debug:full でコンパイルした場合、デバッグ情報が利用可能であることを JIT コンパイラに通知するための DebuggableAttribute が生成される点です。One difference between -debug:pdbonly and -debug:full is that with -debug:full the compiler emits a DebuggableAttribute, which is used to tell the JIT compiler that debug information is available. したがって、 -debug:full を使用する場合に、コード内で DebuggableAttribute が false に設定されていると、エラーが生成されます。Therefore, you will get an error if your code contains the DebuggableAttribute set to false if you use -debug:full.

アプリケーションのデバッグ パフォーマンスを構成する方法については、「イメージのデバッグの簡略化」を参照してください。For more information on how to configure the debug performance of an application, see Making an Image Easier to Debug.

.pdb ファイルの場所を変更する方法については、「-pdb (C# コンパイラ オプション)」を参照してください。To change the location of the .pdb file, see -pdb (C# Compiler Options).

Visual Studio 開発環境でこのコンパイラ オプションを設定するにはTo set this compiler option in the Visual Studio development environment

  1. プロジェクトの [プロパティ] ページを開きます。Open the project's Properties page.

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

  3. [詳細設定] をクリックします。Click the Advanced button.

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

このコンパイラ オプションをプログラムで設定する方法については、「DebugSymbols」を参照してください。For information on how to set this compiler option programmatically, see DebugSymbols.


デバッグ情報を出力ファイル app.pdb に出力します。Place debugging information in output file app.pdb:

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

関連項目See also