Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
Trace-Klasse
Stellt eine Reihe von Methoden und Eigenschaften für das Verfolgen der Ausführung von Code bereit. Diese Klasse kann nicht vererbt werden.
Assembly: System (in System.dll)
Der Trace-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
AutoFlush | Ruft ab oder legt fest, ob für Listeners nach jeder Ausgabe Flush aufgerufen werden soll. |
|
CorrelationManager | Ruft den Korrelations-Manager für den Thread dieser Ablaufverfolgung ab. |
|
IndentLevel | Ruft die Einzugsebene ab oder legt diese fest. |
|
IndentSize | Ruft die Anzahl der Leerzeichen in einem Einzug ab oder legt diese fest. |
|
Listeners | Ruft die Auflistung der Listener für die Überwachung der Ausgabe der Ablaufverfolgung ab. |
|
UseGlobalLock | Ruft einen Wert ab, der angibt, ob die globale Sperre verwendet werden soll, oder legt diesen fest. |
| Name | Beschreibung | |
|---|---|---|
|
Assert(Boolean) | Überprüft eine Bedingung. Wenn die Bedingung false ist, wird ein Meldungsfeld mit der Aufrufliste angezeigt. |
|
Assert(Boolean, String) | Überprüft eine Bedingung. Wenn die Bedingung false ist, wird eine bestimmte Meldung ausgegeben, und ein Meldungsfeld mit der Aufrufliste wird angezeigt. |
|
Assert(Boolean, String, String) | Überprüft eine Bedingung. Wenn die Bedingung false ist, werden zwei angegebene Meldungen ausgegeben, und ein Meldungsfeld mit der Aufrufliste wird angezeigt. |
|
Close | Entleert den Ausgabepuffer und schließt daraufhin die Listeners. |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Fail(String) | Gibt die angegebene Fehlermeldung aus. |
|
Fail(String, String) | Gibt eine Fehlermeldung sowie eine detaillierte Fehlermeldung aus. |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
Flush | Entleert den Ausgabepuffer und veranlasst das Schreiben der gepufferten Daten in die Listeners. |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
Indent | Erhöht den aktuellen IndentLevel um eins. |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Refresh | Aktualisiert die Konfigurationsdaten der Ablaufverfolgung. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
TraceError(String) | Schreibt eine Fehlermeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
TraceError(String, Object[]) | Schreibt eine Fehlermeldung unter Verwendung des angegebenen Objektarrays und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
TraceInformation(String) | Schreibt eine Informationsmeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
TraceInformation(String, Object[]) | Schreibt eine Informationsmeldung unter Verwendung des angegebenen Objektarrays und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
TraceWarning(String) | Schreibt eine Warnmeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
TraceWarning(String, Object[]) | Schreibt eine Warnmeldung unter Verwendung des angegebenen Objektarrays und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
Unindent | Verringert den aktuellen IndentLevel um eins. |
|
Write(Object) | Schreibt den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
Write(String) | Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
Write(Object, String) | Schreibt einen Kategorienamen und den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
Write(String, String) | Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
WriteIf(Boolean, Object) | Schreibt den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteIf(Boolean, String) | Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteIf(Boolean, Object, String) | Schreibt einen Kategorienamen und den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteIf(Boolean, String, String) | Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteLine(Object) | Schreibt den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
WriteLine(String) | Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
WriteLine(Object, String) | Schreibt einen Kategorienamen und den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
WriteLine(String, String) | Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. |
|
WriteLineIf(Boolean, Object) | Schreibt den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteLineIf(Boolean, String) | Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteLineIf(Boolean, Object, String) | Schreibt einen Kategorienamen und den Wert der ToString-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
|
WriteLineIf(Boolean, String, String) | Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. |
Sie können die Eigenschaften und die Methoden der Trace-Klasse verwenden, um Releasebuilds zu 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. Die Listeners-Auflistung wird von den Klassen Debug und Trace gemeinsam genutzt; beim Hinzufügen eines Listeners zu einer der Klassen wird der Listener beiden hinzugefügt. In der Standardeinstellung erfolgt die Ausgabe der Ablaufverfolgung über die DefaultTraceListener-Klasse.
Hinweis
|
|---|
|
Einen Ablaufverfolgungslistener zur Listeners-Auflistung hinzuzufügen kann bei der Ablaufverfolgung eine Ausnahme verursachen, wenn eine vom Ablaufverfolgungslistener verwendete Ressource nicht verfügbar ist. Die Bedingungen und die Ausnahme, die ausgelöst wurde, hängen vom Ablaufverfolgungslistener ab, und können nicht in diesem Thema aufgelistet werden. Möglicherweise empfiehlt es sich, Aufrufe der Trace-Methoden in try/catch-Blocks auszuführen, um eventuelle Ausnahmen von Ablaufverfolgungslistenern zu erkennen und zu verarbeiten. |
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.
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 der Trace.Indent-Methode und der Trace.Unindent-Methode hervorgehoben. Ein vollständigeres Beispiel für die Verwendung von Trace finden Sie unter Gewusst wie: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode.
// 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(); } }
-
SecurityPermission
für das Verwenden von nicht verwaltetem Code. Sicherheitsaktion: Demand. Zugeordnete Enumeration: SecurityPermissionFlag.UnmanagedCode
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis