Share via


Trace-Klasse

Stellt eine Reihe von Methoden und Eigenschaften bereit, mit denen Sie die Ausführung des Codes verfolgen können. Diese Klasse kann nicht vererbt werden.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

Syntax

'Declaration
Public NotInheritable Class Trace
'Usage
Dim instance As Trace
public sealed class Trace
public ref class Trace sealed
public final class Trace
public final class Trace

Hinweise

Mit den Eigenschaften und Methoden in der Trace-Klasse können Sie Releasebuilds instrumentieren. Über die Instrumentation können Sie die fehlerfreie Funktion der Anwendung bei realen Ausführungsbedingungen überwachen. Die Ablaufverfolgung ermöglicht das Eingrenzen und Beheben von Problemen, ohne die Ausführung eines Systems zu stören.

Hinweis

Wenn Sie die Ablaufverfolgung in C# aktivieren möchten, fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes das /d:TRACE-Flag hinzu, oder fügen Sie #define TRACE am Anfang der Datei ein. Fügen Sie in Visual Basic in der Compilerbefehlszeile das /d:TRACE=True-Flag hinzu. Um entsprechende Funktionen in C++ bereitzustellen, müssen Sie Aufrufe von Methoden dieser Klasse in einem #ifdef TRACE... #endif-Block einschließen. Diese Syntax ist compilerspezifisch. Wenn Sie keinen der oben angegebenen Compiler verwenden, lesen Sie zum Aktivieren der bedingten Kompilierung in der Dokumentation zum Compiler nach, um Informationen über die Attribute für die bedingte Kompilierung in den Methoden der Trace-Klasse zu erhalten.

In Visual Studio 2005-Projekten ist Trace standardmäßig aktiviert. Daher wird in Release- und Debugbuilds Code für alle Trace-Methoden generiert. Endbenutzer können so die Ablaufverfolgung zum Identifizieren von Problemen aktivieren, ohne dass eine erneute Kompilierung des Programms erforderlich ist. Im Gegensatz hierzu ist Debug in Releasebuilds in der Standardeinstellung deaktiviert, sodass kein ausführbarer Code für Debug-Methoden generiert wird. Informationen über das Deaktivieren von Trace finden Sie in der Visual Studio 2005-Dokumentation.

Diese Klasse stellt Methoden für die Anzeige eines Dialogfelds Assert und die Ausgabe einer Assertion bereit, die immer zu einem Fail führt. Diese Klasse schreibt Methoden in folgenden Variationen: Write, WriteLine, WriteIf und WriteLineIf.

Mit der BooleanSwitch-Klasse und der TraceSwitch-Klasse kann die Ausgabe der Ablaufverfolgung dynamisch gesteuert werden. Sie können die Werte dieser Schalter ändern, ohne die Anwendung erneut zu kompilieren. Informationen über das Festlegen eines Schalters mithilfe der Konfigurationsdatei finden Sie unter der Switch-Klasse und im Thema Gewusst wie: Konfigurieren von Ablaufverfolgungsschaltern.

Sie können das Ziel der Ablaufverfolgungsausgabe anpassen, indem Sie in der Listeners-Auflistung TraceListener-Instanzen hinzufügen oder diese aus dieser entfernen. In der Standardeinstellung erfolgt die Ausgabe der Ablaufverfolgung über die DefaultTraceListener-Klasse.

Die Trace-Klasse stellt Eigenschaften bereit, mit denen die Ebene von Indent sowie IndentSize abgerufen oder festgelegt und eine Ausführung von AutoFlush nach jeder Ausgabe festgelegt werden kann.

Zum Festlegen von AutoFlush und IndentSize für Trace bearbeiten Sie die Konfigurationsdatei, die dem Namen der Anwendung entspricht. Die Konfigurationsdatei sollte wie im folgenden Beispiel formatiert werden:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="3" />
  </system.diagnostics>
</configuration>

Hinweis zu Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows CE: .NET Compact Framework unterstützt keine Features zur Ablaufverfolgung, bei denen eine Konfigurationsdatei verwendet wird.

Thema Position
Gewusst wie: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen .NET Framework: Debuggen
Gewusst wie: Verfolgen von Code in einer Anwendung .NET Framework: Debuggen
Gewusst wie: Erstellen und Initialisieren von Ablaufverfolgungslistenern .NET Framework: Debuggen
Gewusst wie: Konfigurieren von Ablaufverfolgungsschaltern .NET Framework: Debuggen
Gewusst wie: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode .NET Framework: Debuggen
Gewusst wie: Erstellen und Initialisieren von Ablaufverfolgungslistenern .NET Framework: Debuggen
Gewusst wie: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen .NET Framework: Debuggen
Gewusst wie: Konfigurieren von Ablaufverfolgungsschaltern .NET Framework: Debuggen
Gewusst wie: Verfolgen von Code in einer Anwendung .NET Framework: Debuggen
Gewusst wie: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode .NET Framework: Debuggen
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Beispiel werden mit Trace Anfang und Ende für die Programmausführung angezeigt. Außerdem wird in dem Beispiel die Ausgabe der Ablaufverfolgung mit Indent und Unindent hervorgehoben.

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
static int Main(string[] args)
{
   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();
   return 0;
}
int main()
{
   Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Trace::AutoFlush = true;
   Trace::Indent();
   Trace::WriteLine( "Entering Main" );
   Console::WriteLine( "Hello World." );
   Trace::WriteLine( "Exiting Main" );
   Trace::Unindent();
   return 0;
}

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
  System.Diagnostics.Trace

Threadsicherheit

Dieser Typ ist threadsicher.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Trace-Member
System.Diagnostics-Namespace
Debug-Klasse
Switch-Klasse
BooleanSwitch-Klasse
TraceSwitch
TraceListener
DefaultTraceListener-Klasse
EventLogTraceListener-Klasse
TraceListenerCollection
ConditionalAttribute-Klasse