Trace クラスのプロパティやメソッドを使用して、リリース ビルドをインストルメントできます。インストルメンテーションにより、実際の設定で実行されるアプリケーションの状態を監視できます。トレースを行うと、実行中のシステムを中断せずに問題を特定し、修復できます。
このクラスは Assert ダイアログ ボックスを表示するメソッドを提供し、常に Fail になるアサーションを出力するメソッドを提供します。このクラスは次の種類の書き込みメソッドを提供します。Write、WriteLine、WriteIf、および WriteLineIf。
BooleanSwitch クラスおよび TraceSwitch クラスは、トレース出力を動的に制御する手段を提供します。これらのスイッチの値はアプリケーションを再コンパイルせずに変更できます。構成ファイルを使ってスイッチを設定する方法の詳細については、Switch クラスのトピックおよび「方法 : トレース スイッチを設定する」を参照してください。
Listeners コレクションに TraceListener インスタンスを追加したり、コレクションからインスタンスを削除することによって、トレース出力対象をカスタマイズできます。既定では、トレース出力は DefaultTraceListener クラスを使用すると出力されます。
Trace クラスは、Indent のレベル、IndentSize、および各書き込みの後で AutoFlush を実行するかどうかを示す値を取得または設定するプロパティを提供します。
Trace に AutoFlush や IndentSize を設定するために、アプリケーション名に対応する構成ファイルを編集することもできます。構成ファイルの書式は次の例のようになります。
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>ConditionalAttribute 属性は、Trace のメソッドに適用されます。ConditionalAttribute をサポートするコンパイラは、条件付きコンパイル シンボルとして "TRACE" が定義されていない限り、これらのメソッドへの呼び出しを無視します。コンパイラのドキュメントを参照して、ConditionalAttribute がサポートされているかどうかと、条件付きコンパイル シンボルを定義するための構文を確認してください。
C# および J# で条件付きコンパイル シンボル "TRACE" を定義するには、コードのコンパイル時に /d:TRACE オプションをコンパイラのコマンド ラインに追加するか、#define TRACE をファイルの最上部に挿入します。Visual Basic では、/d:TRACE=True オプションをコンパイラのコマンド ラインに追加するか、#Const TRACE=True をファイルに追加します。
ConditionalAttribute は、C++ コンパイラでサポートされていません。同様の機能を提供するには、Trace のメソッドの呼び出しを #if defined(TRACE) ... #endif ブロックで囲み、/DTRACE オプションをコンパイラのコマンド ラインに追加するか、または #define TRACE をファイルに追加する必要があります。
Visual Studio 2005 プロジェクトでは、既定で、デバッグ ビルドの場合は "DEBUG" 条件付きコンパイル シンボルが定義され、デバッグ ビルドとリリース ビルドの両方の場合は "TRACE" シンボルが定義されます。この動作を無効にする方法については、Visual Studio 2005 ドキュメントを参照してください。
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォーム メモ :
.NET Compact Framework は、構成ファイルを使用するトレース機能をサポートしていません。