(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Trace-Klasse

Aktualisiert: November 2007

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)
public sealed class Trace
public final class Trace
public final class Trace

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.

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>

Das ConditionalAttribute-Attribut wird für die Methoden von Trace übernommen. Compiler, die ConditionalAttribute unterstützen, ignorieren Aufrufe dieser Methoden, sofern als Symbol für die bedingte Kompilierung nicht "TRACE" definiert ist. In der Dokumentation des Compilers finden Sie Informationen dazu, wie Sie ermitteln, ob ConditionalAttribute unterstützt, sowie die Syntax zum Definieren eines Symbols für die bedingte Kompilierung.

Wenn Sie in C# und J# als Symbol für die bedingte Kompilierung "TRACE" definieren möchten, fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes die /d:TRACE-Option hinzu, oder fügen Sie am Anfang der Datei #define TRACE ein. In Visual Basic fügen Sie der Compilerbefehlszeile die /d:TRACE=True-Option hinzu, oder fügen Sie der Datei #Const TRACE=True hinzu.

ConditionalAttribute wird vom C++-Compiler nicht unterstützt. Um die entsprechende Funktionalität bereitzustellen, müssen Sie Aufrufe der Methoden von Trace in einem #if defined(TRACE) ... #endif-Block einschließen und der Compilerbefehlszeile die /DTRACE-Option hinzufügen oder der Datei #define TRACE hinzufügen.

In Visual Studio 2005-Projekten ist für Debugbuilds standardmäßig das Symbol für die bedingte Kompilierung "DEBUG" definiert, und für Debug- und Releasebuilds ist das Symbol "TRACE" definiert. Informationen zum Deaktivieren dieses Verhaltens finden Sie in der Dokumentation zu Visual Studio 2005.

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.

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.

// 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();
    }
}


System.Object
  System.Diagnostics.Trace

Dieser Typ ist threadsicher.

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 für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

XNA Framework

Unterstützt in: 2.0, 1.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.