クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework
System.Diagnostics 名前空間
Trace クラス
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
Trace クラス

更新 : 2007 年 11 月

コードの実行をトレースするためのメソッドとプロパティのセットを提供します。このクラスは継承できません。

名前空間 :  System.Diagnostics
アセンブリ :  System (System.dll 内)

Visual Basic (宣言)
Public NotInheritable Class Trace
Visual Basic (使用法)
Dim instance As Trace
C#
public sealed class Trace
Visual C++
public ref class Trace sealed
J#
public final class Trace
JScript
public final class Trace

Trace クラスのプロパティやメソッドを使用して、リリース ビルドをインストルメントできます。インストルメンテーションにより、実際の設定で実行されるアプリケーションの状態を監視できます。トレースを行うと、実行中のシステムを中断せずに問題を特定し、修復できます。

このクラスは Assert ダイアログ ボックスを表示するメソッドを提供し、常に Fail になるアサーションを出力するメソッドを提供します。このクラスは次の種類の書き込みメソッドを提供します。WriteWriteLineWriteIf、および WriteLineIf

BooleanSwitch クラスおよび TraceSwitch クラスは、トレース出力を動的に制御する手段を提供します。これらのスイッチの値はアプリケーションを再コンパイルせずに変更できます。構成ファイルを使ってスイッチを設定する方法の詳細については、Switch クラスのトピックおよび「方法 : トレース スイッチを設定する」を参照してください。

Listeners コレクションに TraceListener インスタンスを追加したり、コレクションからインスタンスを削除することによって、トレース出力対象をカスタマイズできます。既定では、トレース出力は DefaultTraceListener クラスを使用すると出力されます。

Trace クラスは、Indent のレベル、IndentSize、および各書き込みの後で AutoFlush を実行するかどうかを示す値を取得または設定するプロパティを提供します。

TraceAutoFlushIndentSize を設定するために、アプリケーション名に対応する構成ファイルを編集することもできます。構成ファイルの書式は次の例のようになります。

<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 は、構成ファイルを使用するトレース機能をサポートしていません。

Trace を使用してプログラム実行の最初と最後を指定する例を次に示します。この例では、IndentUnindent も使用してトレース出力を区別します。

Visual Basic
' Specify /d:TRACE=True when compiling.

Imports System
Imports System.Diagnostics

Class Test

    Shared Sub Main()

        Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
        Trace.AutoFlush = True
        Trace.Indent()
        Trace.WriteLine("Entering Main")
        Console.WriteLine("Hello World.")
        Trace.WriteLine("Exiting Main")
        Trace.Unindent()

    End Sub 'Main

End Class

C#
// Specify /d:TRACE when compiling.

using System;
using System.Diagnostics;

class Test
{
    static void Main()
    {
       Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
       Trace.AutoFlush = true;
       Trace.Indent();
       Trace.WriteLine("Entering Main");
       Console.WriteLine("Hello World.");
       Trace.WriteLine("Exiting Main"); 
       Trace.Unindent();
    }
}

Visual C++
// Specify /DTRACE when compiling.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;

int main()
{
   #if defined(TRACE)
   Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Trace::AutoFlush = true;
   Trace::Indent();
   Trace::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(TRACE)
   Trace::WriteLine( "Exiting Main" );
   Trace::Unindent();
   #endif
   return 0;
}

System..::.Object
  System.Diagnostics..::.Trace

この型は、スレッド セーフです。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 3.5、2.0、1.0

XNA Framework

サポート対象 : 2.0、1.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
Page view tracker