Trace Trace Trace Trace Class

Definition

Stellt eine Reihe von Methoden und Eigenschaften für das Verfolgen der Ausführung von Code bereit. Provides a set of methods and properties that help you trace the execution of your code. Diese Klasse kann nicht vererbt werden. This class cannot be inherited.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Vererbung
TraceTraceTraceTrace

Beispiele

Im folgenden Beispiel wird Trace am Anfang und Ende der Ausführung des Programms an.The following example uses Trace to indicate the beginning and the end of a program's execution. Im Beispiel verwendet auch die Trace.Indent und Trace.Unindent Methoden, um die Ausgabe der Ablaufverfolgung zu unterscheiden.The example also uses the Trace.Indent and Trace.Unindent methods to distinguish the tracing output. Ein ausführlicheres Beispiel zur Verwendung von Trace, finden Sie unter Vorgehensweise: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode.For a more complete example of the use of Trace, see How to: Add Trace Statements to Application Code.

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

Hinweise

Können Sie die Eigenschaften und Methoden in der Trace Klasse zu instrumentieren erstellt.You can use the properties and methods in the Trace class to instrument release builds. Instrumente ermöglichen es Ihnen, zur Überwachung der Integrität Ihrer Anwendung, die in der Realität ausgeführt.Instrumentation allows you to monitor the health of your application running in real-life settings. Die Ablaufverfolgung Sie Isolieren von Problemen, und beheben sie ohne ein laufendes System beeinträchtigen.Tracing helps you isolate problems and fix them without disturbing a running system.

Diese Klasse stellt Methoden zum Anzeigen einer Assert (Dialogfeld), und die Ausgabe einer Assertion, die immer Fail.This class provides methods to display an Assert dialog box, and to emit an assertion that will always Fail. Diese Klasse stellt die Write-Methoden in der folgenden Variationen: Write, WriteLine, WriteIf, und WriteLineIf.This class provides write methods in the following variations: Write, WriteLine, WriteIf, and WriteLineIf.

Die BooleanSwitch und TraceSwitch Klassen bieten die Möglichkeit, die Ablaufverfolgungsausgabe dynamisch zu steuern.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Sie können die Werte dieser Schalter ändern, ohne Erneutes Kompilieren der Anwendung.You can modify the values of these switches without recompiling your application. Weitere Informationen zur Verwendung der Konfigurationsdatei zum Festlegen eines Schalters, finden Sie unter der Switch Klasse und die Vorgehensweise: erstellen, initialisieren und Konfigurieren von Ablaufverfolgungsschaltern Thema.For information on using the configuration file to set a switch, see the Switch class and the How to: Create, Initialize and Configure Trace Switches topic.

Sie können die Ziel der Ablaufverfolgungsausgabe anpassen, indem hinzufügen TraceListener -Instanzen zu oder Entfernen von Instanzen aus der Listeners Auflistung.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. Die Listeners Auflistung wird von beiden gemeinsam genutzt der Debug und Trace Klassen; hinzufügen, ein Ablaufverfolgungslistener zur Klasse fügt den Listener für beide.The Listeners collection is shared by both the Debug and the Trace classes; adding a trace listener to either class adds the listener to both. Standardmäßig wird Ausgabe der Ablaufverfolgung ausgegeben, mit der DefaultTraceListener Klasse.By default, trace output is emitted using the DefaultTraceListener class.

Hinweis

Hinzufügen eines Ablaufverfolgungslisteners, um die Listeners Sammlung kann eine Ausnahme während der Ablaufverfolgung, ausgelöst werden, wenn eine Ressource, die vom Ablaufverfolgungslistener verwendet werden, nicht verfügbar ist.Adding a trace listener to the Listeners collection can cause an exception to be thrown while tracing, if a resource used by the trace listener is not available. Die Bedingungen und die Ausnahme wird ausgelöst, richten sich nach der Ablaufverfolgungs-Listener und können nicht aufgezählt werden, in diesem Thema.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Es kann hilfreich sein, platzieren Sie Aufrufe an die Trace Methoden in try / catch zu erkennen und Behandeln von Ausnahmen vom Ablaufverfolgungslistener Blöcke.It may be useful to place calls to the Trace methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Hinweis

Wenn Sie teilweise vertrauenswürdigem Code Ablaufverfolgungslistener hinzugefügt haben, erhalten Sie eine SecurityException , da das Hinzufügen von trace-Listener eine UnmanagedCode Berechtigung.If you add trace listeners to partially trusted code, you will get a SecurityException exception, because adding trace listeners requires UnmanagedCode permission. Um teilweise vertrauenswürdigem Code zu verfolgen, der in einem Sandkasten in Visual Studio ausgeführt wird, fügen Sie keine Ablaufverfolgungslistener ausgeben.To trace partially trusted code that is running in a sandbox in Visual Studio, do not add trace listeners. Stattdessen zeigen Sie die Trace und Debug Meldungen in die Ausgabe Fenster.Instead, view the Trace and Debug messages in the Output window.

Die Trace Klasse enthält Eigenschaften zum Abrufen oder Festlegen der Ebene der Indent, IndentSize, und ob AutoFlush nach jedem Schreibvorgang.The Trace class provides properties to get or set the level of Indent, the IndentSize, and whether to AutoFlush after each write.

Festlegen der AutoFlush und IndentSize für Trace, Sie können die Konfigurationsdatei, die den Namen der Anwendung entspricht, bearbeiten.To set the AutoFlush and IndentSize for Trace, you can edit the configuration file that corresponds to the name of your application. Die Konfigurationsdatei sollte wie im folgenden Beispiel formatiert werden:The configuration file should be formatted like the following example:

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

Die ConditionalAttribute Attribut angewendet wird, an die-Methoden der Trace.The ConditionalAttribute attribute is applied to the methods of Trace. Compiler, unterstützen ConditionalAttribute Aufrufe dieser Methoden ignoriert, es sei denn, die als Symbol für bedingte Kompilierung "TRACE" definiert ist.Compilers that support ConditionalAttribute ignore calls to these methods unless "TRACE" is defined as a conditional compilation symbol. Finden Sie in der Dokumentation des Compilers um zu bestimmen, ob ConditionalAttribute wird unterstützt und die Syntax zum Definieren eines Symbols für die bedingte Kompilierung.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Hinweis

Klicken Sie in Visual Studio-Projekten standardmäßig das konditionale kompiliersymbol "DEBUG" für Debug-Builds definiert ist, und für Debug- und Releasebuilds, ist das Symbol "TRACE" definiert.In Visual Studio projects, by default, the "DEBUG" conditional compilation symbol is defined for debug builds, and the "TRACE" symbol is defined for both debug and release builds. Informationen dazu, wie Sie dieses Verhalten zu deaktivieren finden Sie unter Visual Studio-Dokumentation.For information about how to disable this behavior, see the Visual Studio documentation.

Fügen Sie das Symbol für bedingte Kompilierung "TRACE" in c# zu definieren, die /d:TRACE option Befehlszeile des Compilers beim Kompilieren von Code mithilfe einer Befehlszeile aus, oder fügen #define TRACE am Anfang der Datei.To define the "TRACE" conditional compilation symbol in C#, add the /d:TRACE option to the compiler command line when you compile your code using a command line, or add #define TRACE to the top of your file. Fügen Sie in Visual Basic die /d:TRACE=True -Option in der Befehlszeile des Compilers, oder fügen #Const TRACE=True in die Datei.In Visual Basic, add the /d:TRACE=True option to the compiler command line or add #Const TRACE=True to the file.

ConditionalAttribute wird von der C++-Compiler nicht unterstützt.ConditionalAttribute is not supported by the C++ compiler. Um entsprechende Funktionalität bereitzustellen, müssen Sie Aufrufe an die-Methoden der einschließen Trace in einer #if defined(TRACE) ... #endif blockieren, und fügen Sie der /DTRACE -Option in der Befehlszeile des Compilers, oder fügen #define TRACE in die Datei.To provide equivalent functionality, you must enclose calls to the methods of Trace in an #if defined(TRACE) ... #endif block, and add the /DTRACE option to the compiler command line or add #define TRACE to the file.

Eigenschaften

AutoFlush AutoFlush AutoFlush AutoFlush

Ruft die Information ab, ob Flush() nach jedem Schreibvorgang für Listeners aufgerufen werden soll, oder legt diese fest. Gets or sets whether Flush() should be called on the Listeners after every write.

CorrelationManager CorrelationManager CorrelationManager CorrelationManager

Ruft den Korrelations-Manager für den Thread für diese Ablaufverfolgung ab. Gets the correlation manager for the thread for this trace.

IndentLevel IndentLevel IndentLevel IndentLevel

Ruft die Einzugsebene ab oder legt diese fest. Gets or sets the indent level.

IndentSize IndentSize IndentSize IndentSize

Ruft die Anzahl der Leerzeichen in einem Einzug ab oder legt diese fest. Gets or sets the number of spaces in an indent.

Listeners Listeners Listeners Listeners

Ruft die Auflistung der Listener ab, durch die die Ausgabe der Ablaufverfolgung überwacht wird. Gets the collection of listeners that is monitoring the trace output.

UseGlobalLock UseGlobalLock UseGlobalLock UseGlobalLock

Ruft einen Wert ab, der angibt, ob die globale Sperre verwendet werden soll, oder legt diesen Wert fest. Gets or sets a value indicating whether the global lock should be used.

Methoden

Assert(Boolean) Assert(Boolean) Assert(Boolean) Assert(Boolean)

Überprüft eine Bedingung. Wenn die Bedingung false ist, wird ein Meldungsfeld mit der Aufrufliste angezeigt. Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String) Assert(Boolean, String) Assert(Boolean, String) Assert(Boolean, String)

Überprüft eine Bedingung. Wenn die Bedingung false ist, wird eine angegebene Meldung ausgegeben, und es wird ein Meldungsfeld mit der Aufrufliste angezeigt. Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

Assert(Boolean, String, String) Assert(Boolean, String, String) Assert(Boolean, String, String) Assert(Boolean, String, String)

Überprüft eine Bedingung. Wenn die Bedingung false ist, werden zwei angegebene Meldungen ausgegeben, und es wird ein Meldungsfeld mit der Aufrufliste angezeigt. Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Close() Close() Close() Close()

Leert den Ausgabepuffer und schließt dann die Listeners. Flushes the output buffer, and then closes the Listeners.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fail(String) Fail(String) Fail(String) Fail(String)

Gibt die angegebene Fehlermeldung aus. Emits the specified error message.

Fail(String, String) Fail(String, String) Fail(String, String) Fail(String, String)

Gibt eine Fehlermeldung sowie eine detaillierte Fehlermeldung aus. Emits an error message, and a detailed error message.

Flush() Flush() Flush() Flush()

Leert den Ausgabepuffer und führt dazu, dass gepufferte Daten in die Listeners geschrieben werden. Flushes the output buffer, and causes buffered data to be written to the Listeners.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als die Standardhashfunktion. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab. Gets the Type of the current instance.

(Inherited from Object)
Indent() Indent() Indent() Indent()

Erhöht die aktuelle IndentLevel um 1. Increases the current IndentLevel by one.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object. Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh() Refresh() Refresh() Refresh()

Aktualisiert die Konfigurationsdaten für die Ablaufverfolgung. Refreshes the trace configuration data.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. Returns a string that represents the current object.

(Inherited from Object)
TraceError(String) TraceError(String) TraceError(String) TraceError(String)

Schreibt eine Fehlermeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes an error message to the trace listeners in the Listeners collection using the specified message.

TraceError(String, Object[]) TraceError(String, Object[]) TraceError(String, Object[]) TraceError(String, Object[])

Schreibt eine Fehlermeldung unter Verwendung des angegebenen Arrays von Objekten und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes an error message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceInformation(String) TraceInformation(String) TraceInformation(String) TraceInformation(String)

Schreibt eine Informationsmeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[]) TraceInformation(String, Object[]) TraceInformation(String, Object[]) TraceInformation(String, Object[])

Schreibt eine Informationsmeldung unter Verwendung des angegebenen Arrays von Objekten und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes an informational message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceWarning(String) TraceWarning(String) TraceWarning(String) TraceWarning(String)

Schreibt eine Warnmeldung unter Verwendung der angegebenen Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a warning message to the trace listeners in the Listeners collection using the specified message.

TraceWarning(String, Object[]) TraceWarning(String, Object[]) TraceWarning(String, Object[]) TraceWarning(String, Object[])

Schreibt eine Warnmeldung unter Verwendung des angegebenen Arrays von Objekten und der Formatierungsinformationen in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a warning message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

Unindent() Unindent() Unindent() Unindent()

Verringert die aktuelle IndentLevel um 1. Decreases the current IndentLevel by one.

Write(Object) Write(Object) Write(Object) Write(Object)

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String) Write(Object, String) Write(Object, String) Write(Object, String)

Schreibt einen Kategorienamen und den Wert der ToString()-Methode des Objekts in den Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String) Write(String) Write(String) Write(String)

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a message to the trace listeners in the Listeners collection.

Write(String, String) Write(String, String) Write(String, String) Write(String, String)

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a category name and a message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object) WriteIf(Boolean, Object) WriteIf(Boolean, Object) WriteIf(Boolean, Object)

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String) 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. Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String) WriteIf(Boolean, String) WriteIf(Boolean, String) WriteIf(Boolean, String)

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String)

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object) WriteLine(Object) WriteLine(Object) WriteLine(Object)

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String)

Schreibt einen Kategorienamen und den Wert der ToString()-Methode des Objekts in den Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String) WriteLine(String) WriteLine(String) WriteLine(String)

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a message to the trace listeners in the Listeners collection.

WriteLine(String, String) WriteLine(String, String) WriteLine(String, String) WriteLine(String, String)

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung. Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object)

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, Object, String) WriteLineIf(Boolean, Object, String) WriteLineIf(Boolean, Object, String) 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. Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String)

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String)

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist. Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Sicherheit

SecurityPermission
für den Betrieb mit nicht verwaltetem Code. for operating with unmanaged code. Sicherheitsaktion: Demand. Security action: Demand. Zugeordnete Enumeration: UnmanagedCode Associated enumeration: UnmanagedCode

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher. This type is thread safe.

Siehe auch