クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework 3.5
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 は、構成ファイルを使用するトレース機能をサポートしていません。

TopicLocation
チュートリアル : ASP.NET トレースと System.Diagnostics トレースの統合ASP .NET Web アプリケーションの作成
チュートリアル : ASP.NET トレースと System.Diagnostics トレースの統合Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル: System.Diagnostics のトレースを ASP.NET トレースを統合します。dv_vwdcon
方法 : アプリケーション コードにトレース ステートメントを追加します。dv_fxdebug
方法 : アプリケーション コードにトレース ステートメントを追加する.NET Framework: デバッグ
方法 : アプリケーション コードにトレース ステートメントを追加する.NET Framework : デバッグ
方法 : アプリケーションでコードをトレースします。dv_fxdebug
方法 : アプリケーションのコードをトレースする.NET Framework: デバッグ
方法 : アプリケーションのコードをトレースする.NET Framework : デバッグ
方法 : トレース スイッチを構成します。dv_fxdebug
方法 : トレース スイッチを設定する.NET Framework: デバッグ
方法 : トレース スイッチを設定する.NET Framework : デバッグ
方法 : トレース リスナを作成し初期化する.NET Framework: デバッグ
方法 : トレース リスナを作成し初期化する.NET Framework : デバッグ
方法 : トレースとデバッグに使用して条件付きコンパイルします。dv_fxdebug
方法 : トレースとデバッグを指定して条件付きコンパイルを実行する.NET Framework: デバッグ
方法 : トレースとデバッグを指定して条件付きコンパイルを実行する.NET Framework : デバッグ
方法 : 作成し、トレース リスナを初期化します。dv_fxdebug

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
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker