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. Cette classe ne peut pas être héritée.

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. L’exemple utilise également les méthodes et Trace.Unindent les Trace.Indent méthodes pour distinguer la sortie de suivi. Pour obtenir un exemple plus complet de l’utilisation de Trace, voir Comment : ajouter des instructions trace au code d’application.

// 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 Trace classe pour instrumenter les builds de mise en production. L’instrumentation vous permet de surveiller l’intégrité de votre application s’exécutant dans des paramètres réels. Le suivi vous aide à isoler les problèmes et à les résoudre sans déranger un système en cours d’exécution.

Cette classe fournit des méthodes pour afficher une Assert boîte de dialogue et émettre une assertion qui sera toujours Fail. Cette classe fournit des méthodes d’écriture dans les variantes suivantes :

Les BooleanSwitch classes et les TraceSwitch classes fournissent des moyens de contrôler dynamiquement la sortie de suivi. Dans les applications .NET Framework, vous pouvez modifier les valeurs de ces commutateurs sans recompiler votre application. Pour plus d’informations sur l’utilisation du fichier de configuration pour définir un commutateur dans une application .NET Framework, consultez la Switch classe et comment : créer, initialiser et configurer des commutateurs de trace.

Vous pouvez personnaliser la cible de la sortie de suivi en ajoutant TraceListener des instances ou en supprimant des instances de la Listeners collection. La Listeners collection est partagée par les classes et les Trace Debug classes ; l’ajout d’un écouteur de trace à l’une ou l’autre classe ajoute l’écouteur à la fois. Par défaut, la sortie de trace est émise à l’aide de la DefaultTraceListener classe.

Notes

L’ajout d’un écouteur de trace à la Listeners collection peut entraîner la levée d’une exception lors du suivi, si une ressource utilisée par l’écouteur de trace n’est pas disponible. Les conditions et l’exception levée dépendent de l’écouteur de trace et ne peuvent pas être énumérées dans cette rubrique. Il peut être utile de placer des appels aux Trace méthodes en try/catch blocs pour détecter et gérer les exceptions des écouteurs de trace.

Notes

Si vous ajoutez des écouteurs de trace au code partiellement approuvé, vous obtiendrez une exception, car l’ajout d’écouteurs de trace nécessite UnmanagedCode une SecurityException autorisation. Pour suivre le code partiellement approuvé qui s’exécute dans un bac à sable dans Visual Studio, n’ajoutez pas d’écouteurs de trace. Au lieu de cela, affichez les messages et Debug les Trace messages dans la fenêtre Sortie.

La Trace classe fournit des propriétés pour obtenir ou définir le niveau et Indent le IndentSize, et s’il faut le faire AutoFlush après chaque écriture.

Dans les applications .NET Framework, vous pouvez définir le AutoFlush fichier de configuration et IndentSize Trace le faire en modifiant le fichier de configuration correspondant au nom de votre application. Le fichier de configuration doit être mis en forme comme l’exemple suivant :

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

L’attribut ConditionalAttribute est appliqué aux méthodes de Trace. Les compilateurs qui prennent en charge ConditionalAttribute les appels à ces méthodes, sauf s’il TRACE est défini comme symbole de compilation conditionnelle. Reportez-vous à la documentation d’un compilateur pour déterminer s’il ConditionalAttribute est pris en charge et la syntaxe permettant de définir un symbole de compilation conditionnelle.

Notes

Dans Visual Studio projets, par défaut, le DEBUG symbole de compilation conditionnelle est défini pour les builds de débogage, et le TRACE symbole est défini pour les builds de débogage et de mise en production.

Pour définir le TRACE symbole de compilation conditionnelle en C#, ajoutez l’option /d:TRACE à la ligne de commande du compilateur lorsque vous compilez votre code à l’aide d’une ligne de commande ou ajoutez #define TRACE au haut de votre fichier. Dans Visual Basic, ajoutez l’option /d:TRACE=True à la ligne de commande du compilateur ou ajoutez-la #Const TRACE=True au fichier.

ConditionalAttribute n’est pas pris en charge par le compilateur C++. Pour fournir des fonctionnalités équivalentes, vous devez placer des appels aux méthodes d’un #if defined(TRACE) ... #endif bloc et ajouter l’option /DTRACE à la ligne de Trace commande du compilateur ou ajouter #define TRACE au fichier.

Propriétés

AutoFlush

Obtient ou définit une valeur indiquant si Flush() doit être appelé sur Listeners après chaque écriture.

CorrelationManager

Obtient le gestionnaire de corrélation pour le thread de ce suivi.

IndentLevel

Obtient ou définit le niveau de retrait.

IndentSize

Obtient ou définit le nombre d'espaces dans un retrait.

Listeners

Obtient la collection d’écouteurs qui surveillent la sortie de suivi.

UseGlobalLock

Obtient ou définit une valeur indiquant si le verrouillage global doit être utilisé.

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.

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.

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.

Close()

Vide la mémoire tampon de sortie, puis ferme Listeners.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

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

Émet le message d’erreur spécifié.

Fail(String, String)

Émet un message d’erreur et un message d’erreur détaillé.

Flush()

Vide la mémoire tampon de sortie et entraîne l’écriture des données mises en mémoire dans Listeners.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
Indent()

Augmente le IndentLevel actuel d’une unité.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Refresh()

Actualise les données de configuration de suivi.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(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é.

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.

TraceInformation(String)

Écrit un message d’information dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié.

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.

TraceWarning(String)

Écrit un message d’avertissement dans les écouteurs de la trace de la collection Listeners à l’aide du message spécifié.

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.

Unindent()

Réduit la propriété IndentLevel actuelle d’une unité.

Write(Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.

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.

Write(String)

Écrit un message dans les écouteurs de suivi de la collection Listeners.

Write(String, String)

Écrit un nom de catégorie et un message dans les écouteurs Trace de la collection Listeners.

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.

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.

WriteIf(Boolean, String)

Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est 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.

WriteLine(Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de suivi de la collection Listeners.

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.

WriteLine(String)

Écrit un message dans les écouteurs de suivi de la collection Listeners.

WriteLine(String, String)

Écrit un nom de catégorie et un message dans les écouteurs de suivi de la collection Listeners.

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.

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.

WriteLineIf(Boolean, String)

Écrit un message dans les écouteurs de suivi de la collection Listeners si une condition est 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.

S’applique à

Cohérence de thread

Ce type est thread-safe.

Voir aussi