Trace Classe

Définition

Fournit un ensemble de méthodes et de propriétés qui vous permettent de tracer l'exécution de votre code.Provides a set of methods and properties that help you trace the execution of your code. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Héritage
Trace

Exemples

L’exemple suivant utilise Trace pour indiquer le début et la fin de l’exécution d’un programme.The following example uses Trace to indicate the beginning and the end of a program's execution. L’exemple utilise également les méthodes Trace.Indent et Trace.Unindent pour distinguer la sortie de traçage.The example also uses the Trace.Indent and Trace.Unindent methods to distinguish the tracing output. Pour obtenir un exemple plus complet de l’utilisation de Trace, consultez Comment : ajouter des instructions de suivi à du code d’application.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.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

End Class

Remarques

Vous pouvez utiliser les propriétés et les méthodes de la classe Trace pour instrumenter des versions release.You can use the properties and methods in the Trace class to instrument release builds. L’instrumentation vous permet de surveiller l’intégrité de votre application exécutée dans des paramètres réels.Instrumentation allows you to monitor the health of your application running in real-life settings. Le suivi vous aide à isoler les problèmes et à les résoudre sans perturber le système en cours d’exécution.Tracing helps you isolate problems and fix them without disturbing a running system.

Cette classe fournit des méthodes pour afficher une boîte de dialogue Assert et pour émettre une assertion qui Failtoujours.This class provides methods to display an Assert dialog box, and to emit an assertion that will always Fail. Cette classe fournit des méthodes d’écriture dans les variations suivantes : Write, WriteLine, WriteIfet WriteLineIf.This class provides write methods in the following variations: Write, WriteLine, WriteIf, and WriteLineIf.

Les classes BooleanSwitch et TraceSwitch fournissent des moyens de contrôler dynamiquement la sortie de traçage.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Vous pouvez modifier les valeurs de ces commutateurs sans recompiler votre application.You can modify the values of these switches without recompiling your application. Pour plus d’informations sur l’utilisation du fichier de configuration pour définir un commutateur, consultez la classe Switch et la rubrique Guide pratique pour créer, initialiser et configurer des commutateurs de trace .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.

Vous pouvez personnaliser la cible de la sortie de traçage en ajoutant des instances de TraceListener à des instances ou en supprimant de la collection de Listeners.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. La collection Listeners est partagée par les classes Debug et Trace ; l’ajout d’un écouteur de suivi à l’une ou l’autre des classes ajoute l’écouteur aux deux.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. Par défaut, la sortie de trace est émise à l’aide de la classe DefaultTraceListener.By default, trace output is emitted using the DefaultTraceListener class.

Notes

L’ajout d’un écouteur de suivi à la collection Listeners peut provoquer la levée d’une exception lors du traçage, si une ressource utilisée par l’écouteur de la trace n’est pas disponible.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. Les conditions et l’exception levée dépendent de l’écouteur de suivi et ne peuvent pas être énumérées dans cette rubrique.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Il peut être utile de placer les appels aux méthodes Trace dans try/catch les blocs pour détecter et gérer les exceptions des écouteurs de suivi.It may be useful to place calls to the Trace methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Notes

Si vous ajoutez des écouteurs de suivi à du code partiellement fiable, vous obtiendrez une exception SecurityException, car l’ajout d’écouteurs de suivi nécessite UnmanagedCode autorisation.If you add trace listeners to partially trusted code, you will get a SecurityException exception, because adding trace listeners requires UnmanagedCode permission. Pour tracer le code partiellement fiable qui s’exécute dans un bac à sable (sandbox) dans Visual Studio, n’ajoutez pas d’écouteurs de suivi.To trace partially trusted code that is running in a sandbox in Visual Studio, do not add trace listeners. Au lieu de cela, affichez les messages Trace et Debug dans la fenêtre sortie .Instead, view the Trace and Debug messages in the Output window.

La classe Trace fournit des propriétés permettant d’extraire ou de définir le niveau de Indent, le IndentSizeet s’il faut AutoFlush après chaque écriture.The Trace class provides properties to get or set the level of Indent, the IndentSize, and whether to AutoFlush after each write.

Pour définir les AutoFlush et les IndentSize pour Trace, vous pouvez modifier le fichier de configuration qui correspond au nom de votre application.To set the AutoFlush and IndentSize for Trace, you can edit the configuration file that corresponds to the name of your application. Le fichier de configuration doit être mis en forme comme dans l’exemple suivant :The configuration file should be formatted like the following example:

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

L’attribut ConditionalAttribute est appliqué aux méthodes de Trace.The ConditionalAttribute attribute is applied to the methods of Trace. Les compilateurs qui prennent en charge ConditionalAttribute ignorent les appels à ces méthodes, sauf si « TRACE » est défini comme un symbole de compilation conditionnelle.Compilers that support ConditionalAttribute ignore calls to these methods unless "TRACE" is defined as a conditional compilation symbol. Reportez-vous à la documentation d’un compilateur pour déterminer si ConditionalAttribute est pris en charge et la syntaxe permettant de définir un symbole de compilation conditionnelle.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Notes

Dans les projets Visual Studio, par défaut, le symbole de compilation conditionnelle « DEBUG » est défini pour les versions Debug, et le symbole « TRACE » est défini à la fois pour les versions Debug et Release.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. Pour plus d’informations sur la façon de désactiver ce comportement, consultez la documentation de Visual Studio.For information about how to disable this behavior, see the Visual Studio documentation.

Pour définir le symbole de compilation conditionnelle « TRACE » C#dans, ajoutez l’option /d:TRACE à la ligne de commande du compilateur quand vous compilez votre code à l’aide d’une ligne de commande, ou ajoutez #define TRACE en haut de votre fichier.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. Dans Visual Basic, ajoutez l’option /d:TRACE=True à la ligne de commande du compilateur ou ajoutez #Const TRACE=True au fichier.In Visual Basic, add the /d:TRACE=True option to the compiler command line or add #Const TRACE=True to the file.

ConditionalAttribute n’est pas pris en C++ charge par le compilateur.ConditionalAttribute is not supported by the C++ compiler. Pour fournir des fonctionnalités équivalentes, vous devez placer les appels aux méthodes de Trace dans un bloc #if defined(TRACE) ... #endif et ajouter l’option /DTRACE à la ligne de commande du compilateur ou ajouter des #define TRACE au fichier.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.

Propriétés

AutoFlush

Obtient ou définit une valeur indiquant si Flush() doit être appelé sur Listeners après chaque écriture.Gets or sets whether Flush() should be called on the Listeners after every write.

CorrelationManager

Obtient le gestionnaire de corrélation pour le thread de ce suivi.Gets the correlation manager for the thread for this trace.

IndentLevel

Obtient ou définit le niveau de retrait.Gets or sets the indent level.

IndentSize

Obtient ou définit le nombre d'espaces dans un retrait.Gets or sets the number of spaces in an indent.

Listeners

Obtient la collection d’écouteurs qui surveillent la sortie de suivi.Gets the collection of listeners that is monitoring the trace output.

UseGlobalLock

Obtient ou définit une valeur indiquant si le verrouillage global doit être utilisé.Gets or sets a value indicating whether the global lock should be used.

Méthodes

Assert(Boolean)

Vérifie une condition ; si la condition est false, affiche une boîte de message qui montre la pile des appels.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

Vérifie une condition ; si la condition a la valeur false, affiche un message spécifié et une boîte de message qui montre la pile des appels.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)

Vérifie une condition ; si la condition est false, affiche deux messages spécifiés et une boîte de message qui montre la pile des appels.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Close()

Vide la mémoire tampon de sortie, puis ferme Listeners.Flushes the output buffer, and then closes the Listeners.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
Fail(String)

Émet le message d’erreur spécifié.Emits the specified error message.

Fail(String, String)

Émet un message d’erreur et un message d’erreur détaillé.Emits an error message, and a detailed error message.

Flush()

Vide la mémoire tampon de sortie et entraîne l’écriture des données mises en mémoire dans Listeners.Flushes the output buffer, and causes buffered data to be written to the Listeners.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
Indent()

Augmente le IndentLevel actuel d’une unité.Increases the current IndentLevel by one.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Refresh()

Actualise les données de configuration de suivi.Refreshes the trace configuration data.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)
TraceError(String)

Écrit un message d’erreur dans les écouteurs de suivi de la collection Listeners à l’aide du message spécifié.Writes an error message to the trace listeners in the Listeners collection using the specified message.

TraceError(String, Object[])

Écrit un message d’erreur dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés.Writes an error message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceInformation(String)

Écrit un message d’information dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié.Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[])

Écrit un message d’information dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés.Writes an informational message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceWarning(String)

Écrit un message d’avertissement dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié.Writes a warning message to the trace listeners in the Listeners collection using the specified message.

TraceWarning(String, Object[])

Écrit un message d’avertissement dans les écouteurs de suivi de la collection Listeners à l’aide du tableau d’objets et des informations de mise en forme spécifiés.Writes a warning message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

Unindent()

Réduit la propriété IndentLevel actuelle d’une unité.Decreases the current IndentLevel by one.

Write(Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String)

Écrit le nom de la catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String)

Écrit un message dans les écouteurs de suivi de la collection Listeners.Writes a message to the trace listeners in the Listeners collection.

Write(String, String)

Écrit un nom de catégorie et un message dans les écouteurs Trace de la collection Listeners.Writes a category name and a message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de la trace de la collection Listeners si une condition est true.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)

Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners, si une condition a la valeur true.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)

Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de la trace de la collection Listeners si une condition est true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String)

Écrit le nom de la catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String)

Écrit un message dans les écouteurs de suivi de la collection Listeners.Writes a message to the trace listeners in the Listeners collection.

WriteLine(String, String)

Écrit un nom de catégorie et un message dans les écouteurs de suivi de la collection Listeners.Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de la trace de la collection Listeners si une condition est true.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)

Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners, si une condition a la valeur true.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)

Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de la trace de la collection Listeners si une condition est true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Sécurité

SecurityPermission
pour l’utilisation de code non managé.for operating with unmanaged code. Action de sécurité : Demand.Security action: Demand. Énumération associée : UnmanagedCodeAssociated enumeration: UnmanagedCode

S’applique à

Cohérence de thread

Ce type est thread-safe.This type is thread safe.

Voir aussi