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 Trace.Indent méthodes et Trace.Unindent pour distinguer la sortie de suivi. Pour obtenir un exemple plus complet de l’utilisation de Trace, consultez Guide pratique pour ajouter des instructions de 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 release. L’instrumentation vous permet de surveiller l’intégrité de votre application en cours d’exécution dans des paramètres réels. Le suivi vous permet d’isoler les problèmes et de les résoudre sans perturber 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 TraceSwitch fournissent des moyens de contrôler dynamiquement la sortie du 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 Guide pratique pour Create, Initialiser et configurer des commutateurs de suivi.

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 Debug classes et et ; l’ajout Trace d’un écouteur de trace à l’une ou l’autre classe ajoute l’écouteur aux deux. Par défaut, la sortie de trace est émise à l’aide de la DefaultTraceListener classe .

Notes

L’ajout d’un écouteur de suivi à la collection peut entraîner la Listeners levée d’une exception lors du suivi, si une ressource utilisée par l’écouteur de suivi 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 méthodes dans try/catch des Trace blocs pour détecter et gérer les exceptions des écouteurs de trace.

Notes

Si vous ajoutez des écouteurs de suivi au code partiellement approuvé, vous obtiendrez une exception, car l’ajout d’écouteurs de suivi 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 suivi. Au lieu de cela, affichez les Trace messages et Debug dans la fenêtre Sortie .

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

Dans les applications .NET Framework, vous pouvez définir le AutoFlush et IndentSize pour Trace en modifiant le fichier de configuration qui correspond au nom de votre application. Le fichier de configuration doit être mis en forme comme dans 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 ignorent les appels à ces méthodes, sauf si TRACE est défini comme symbole de compilation conditionnelle. Reportez-vous à la documentation d’un compilateur pour déterminer si ConditionalAttribute est pris en charge et la syntaxe pour définir un symbole de compilation conditionnelle.

Notes

Dans les projets Visual Studio, par défaut, le DEBUG symbole de compilation conditionnelle est défini pour les builds de débogage, et le symbole est défini à la TRACE fois pour les builds de débogage et release.

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-la #define TRACE en haut de votre fichier. En Visual Basic, ajoutez l’option /d:TRACE=True à la ligne de commande du compilateur ou ajoutez #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 les appels aux méthodes de Trace dans un #if defined(TRACE) ... #endif bloc et ajouter l’option /DTRACE à la ligne de 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.

Événements

Refreshing

Se produit lorsqu’un TraceSource doit être actualisé à partir de la configuration.

S’applique à

Cohérence de thread

Ce type est thread-safe.

Voir aussi