方法 : トレースとデバッグを指定して条件付きコンパイルを実行する
更新 : 2007 年 11 月
開発時にアプリケーションをデバッグすると、トレース出力とデバッグ出力の両方が Visual Studio の出力ウィンドウに出力されます。ただし、配置されたアプリケーションにトレース機能を組み込むには、実装の対象とするアプリケーションを TRACE コンパイラ ディレクティブを有効にしてコンパイルする必要があります。これにより、トレース コードがアプリケーションのリリース バージョンにコンパイルされます。TRACE ディレクティブを有効にしないと、コンパイル時にすべてのトレース コードが無視され、配置する実行可能コードに含まれなくなります。
トレース メソッドとデバッグ メソッドの両方に、関連付けられた条件属性があります。たとえば、トレースの条件属性が true の場合は、すべてのトレース ステートメントがアセンブリ (コンパイル済みの .exe ファイルや .dll ファイル) に組み込まれます。また、トレースの条件属性が false の場合、トレース ステートメントはアセンブリに組み込まれません。
ビルドにあたっては、Trace 条件属性と Debug 条件属性のどちらか一方をオンにすることも、両方ともオンにすることも、両方ともオフにすることもできます。つまり、Debug のみオン、Trace のみオン、両方ともオン、両方ともオフという、4 種類のビルド方法が存在します。実際の配置用のリリース ビルドでは両方ともオフにする場合もありますが、大半のデバッグ ビルドでは両方をオンにします。
アプリケーションのコンパイラ設定は、次に示す複数の方法で指定できます。
プロパティ ページ
コマンド ライン
#CONST (Visual Basic の場合) および #define (C# の場合)
プロパティ ページのダイアログ ボックスでコンパイル設定を変更するには
ソリューション エクスプローラでプロジェクト ノードを右クリックします。
ショートカット メニューの [プロパティ] をクリックします。
Visual Basic の場合は、プロパティ ページの左ペインにある [コンパイル] タブをクリックし、[詳細コンパイル オプション] をクリックして [ビルドの詳細設定] ダイアログ ボックスを表示します。有効にするコンパイラ設定のチェック ボックスをオンにします。無効にする設定のチェック ボックスをオフにします。
C# の場合は、プロパティ ページの左ペインにある [ビルド] タブをクリックし、有効にするコンパイラ設定のチェック ボックスをオンにします。無効にする設定のチェック ボックスをオフにします。
実装されたコードをコマンド ラインからコンパイルするには
コマンド ラインで条件付きのコンパイラ スイッチを設定します。コンパイラが、実行可能ファイルにトレース コードまたはデバッグ コードを組み込みます。
たとえば、コマンド ラインで次のコンパイラ命令を入力すると、コンパイルされた実行可能ファイルにトレース コードが組み込まれます。
Visual Basic の場合 : vbc /r:System.dll /d:TRACE=TRUE /d:DEBUG=FALSE MyApplication.vb
C# の場合 : csc /r:System.dll /d:TRACE /d:DEBUG=FALSE MyApplication.cs
ヒント : 複数のアプリケーション ファイルをコンパイルするには、各ファイル名の間にスペースを 1 つ挿入します。たとえば、「MyApplication1.vb MyApplication2.vb MyApplication3.vb」または「MyApplication1.cs MyApplication2.cs MyApplication3.cs」とします。
前の例で使用されている条件付きコンパイルのディレクティブの説明を次に示します。
ディレクティブ
説明
vbc
Visual Basic コンパイラです。
csc
C# コンパイラです。
/r:
外部アセンブリ (EXE または DLL) を参照します。
/d:
条件付きコンパイル シンボルを定義します。
メモ : TRACE または DEBUG は大文字で入力する必要があります。条件付きコンパイル コマンドの詳細を参照するには、コマンド プロンプトで「vbc /?」(Visual Basic の場合) または「csc /?」(C# の場合) と入力します。詳細については、「コマンド ラインからのビルド」(C# の場合) または「コマンド ライン コンパイラの起動」(Visual Basic の場合) を参照してください。
#CONST または #define を使用して条件付きコンパイルを実行するには
ソース コード ファイルの先頭に、使用するプログラミング言語に適したステートメントを入力します。
言語
ステートメント
結果
Visual Basic
#CONST TRACE = true
トレースを有効にします。
#CONST TRACE = false
トレースを無効にします。
#CONST DEBUG = true
デバッグを有効にします。
#CONST DEBUG = false
デバッグを無効にします。
C#
#define TRACE
トレースを有効にします。
#undef TRACE
トレースを無効にします。
#define DEBUG
デバッグを有効にします。
#undef DEBUG
デバッグを無効にします。
トレースまたはデバッグを無効にするには
ソース コードから対応するコンパイラ ディレクティブを削除します。
または
コンパイラ ディレクティブをコメント アウトします。
メモ : コンパイルの準備が整ったら、[ビルド] メニューの [ビルド] をクリックします。また、条件付きコンパイル シンボルを定義するための「d:」を入力せずにコマンド ライン メソッドを使用することもできます。
参照
処理手順
方法 : アプリケーション コードにトレース ステートメントを追加する