Partager via


Debug Classe

Définition

Fournit un ensemble de méthodes et de propriétés qui aident à déboguer votre code.

public ref class Debug abstract sealed
public ref class Debug sealed
public static class Debug
public sealed class Debug
type Debug = class
Public Class Debug
Public NotInheritable Class Debug
Héritage
Debug

Exemples

L’exemple suivant utilise Debug pour indiquer le début et la fin de l’exécution d’un programme. L’exemple utilise Indent également et Unindent distingue la sortie de suivi.

// Specify /d:DEBUG when compiling.

using System;
using System.Data;
using System.Diagnostics;

class Test
{
    static void Main()
    {
       Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));
       Debug.AutoFlush = true;
       Debug.Indent();
       Debug.WriteLine("Entering Main");
       Console.WriteLine("Hello World.");
       Debug.WriteLine("Exiting Main");
       Debug.Unindent();
    }
}
' Specify /d:DEBUG=True when compiling.

Imports System.Data
Imports System.Diagnostics

Class Test

    Shared Sub Main()
    
        Debug.Listeners.Add(New TextWriterTraceListener(Console.Out))
        Debug.AutoFlush = True
        Debug.Indent()
        Debug.WriteLine("Entering Main")
        Console.WriteLine("Hello World.")
        Debug.WriteLine("Exiting Main")
        Debug.Unindent()
        
    End Sub
    
End Class

Remarques

Pour rendre votre code plus robuste sans affecter les performances et la taille du code de votre produit d’expédition, utilisez des méthodes dans la Debug classe pour imprimer les informations de débogage et vérifier votre logique avec des assertions.

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

Les BooleanSwitch classes et TraceSwitch les classes fournissent des moyens de contrôler dynamiquement la sortie de suivi. Pour 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 les applications .NET Framework, consultez la Switch classe et l’article Trace Switchs .

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

Note

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 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 cet article. Il peut être utile de placer des appels aux Debug méthodes dans try/catch des blocs pour détecter et gérer les exceptions des écouteurs de trace.

Vous pouvez modifier le niveau de retrait à l’aide de la Indent méthode ou de la IndentLevel propriété. Pour modifier l’espacement du retrait, utilisez la IndentSize propriété. Vous pouvez spécifier s’il faut vider automatiquement la mémoire tampon de sortie après chaque écriture en définissant la AutoFlush propriété truesur .

Pour les applications .NET Framework, vous pouvez définir et pour Debug cela en modifiant le AutoFlushIndentSize fichier de configuration de votre application. Le fichier de configuration doit être mis en forme comme indiqué dans l’exemple suivant.

<configuration>
  <system.diagnostics>
    <trace autoflush="true" indentsize="7" />
  </system.diagnostics>
</configuration>

L’attribut ConditionalAttribute est appliqué aux méthodes de Debug. Les compilateurs qui prennent en charge ConditionalAttribute l’ignorer les appels à ces méthodes, sauf s’ils DEBUG sont définis comme symbole de compilation conditionnelle. Reportez-vous à la documentation d’un compilateur pour déterminer si ConditionalAttribute elle est prise en charge et la syntaxe permettant de définir un symbole de compilation conditionnelle.

Note

Dans les projets Visual Studio C# et Visual Basic, 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 plus d’informations sur le débogage conditionnel dans Visual C++, consultez La classe Debug (C++/CLI).

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

Propriétés

Nom Description
AutoFlush

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

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 du débogage.

Méthodes

Nom Description
Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)

Recherche une condition ; si la condition est false, génère un message spécifié et affiche une zone de message qui affiche la pile des appels.

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

Recherche une condition ; si la condition est false, génère un message spécifié et affiche une zone de message qui affiche la pile des appels.

Assert(Boolean, String, String, Object[])

Recherche une condition ; si la condition est false, génère deux messages (simples et mis en forme) et affiche une zone de message qui affiche la pile des appels.

Assert(Boolean, String, String)

Recherche une condition ; si la condition est false, génère deux messages spécifiés et affiche une zone de message qui affiche la pile des appels.

Assert(Boolean, String)

Recherche une condition ; si la condition est false, génère un message spécifié et affiche une zone de message qui affiche la pile des appels.

Assert(Boolean)

Recherche une condition ; si la condition est false, affiche une boîte de message qui affiche la pile des appels.

Close()

Vide la mémoire tampon de sortie, puis appelle la Close méthode sur chacun des Listenersfichiers .

Fail(String, String)

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

Fail(String)

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

Flush()

Vide la mémoire tampon de sortie et provoque l’écriture de données mises en mémoire tampon dans la Listeners collection.

Indent()

Augmente le courant IndentLevel d’un.

Print(String, Object[])

Écrit une chaîne mise en forme suivie d’un terminateur de ligne dans les écouteurs de trace de la Listeners collection.

Print(String)

Écrit un message suivi d’un terminateur de ligne dans les écouteurs de trace de la Listeners collection.

Unindent()

Diminue le courant IndentLevel d’un.

Write(Object, String)

Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection.

Write(Object)

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

Write(String, String)

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

Write(String)

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

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la Listeners collection si une condition spécifiée est true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Si condition c’est truele cas, écrit un nom de catégorie et un message dans les écouteurs de trace dans la Listeners collection.

WriteIf(Boolean, Object, String)

Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection si une condition est true.

WriteIf(Boolean, Object)

Écrit la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection si une condition est true.

WriteIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la Listeners collection si une condition est true.

WriteIf(Boolean, String)

Écrit un message dans les écouteurs de trace dans la Listeners collection si une condition est true.

WriteLine(Object, String)

Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection.

WriteLine(Object)

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

WriteLine(String, Object[])

Écrit un message mis en forme suivi d’un terminateur de ligne dans les écouteurs de trace de la Listeners collection.

WriteLine(String, String)

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

WriteLine(String)

Écrit un message suivi d’un terminateur de ligne dans les écouteurs de trace de la Listeners collection.

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la Listeners collection si une condition spécifiée est true.

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Écrit un message dans les écouteurs de trace dans la Listeners collection si une condition spécifiée est true.

WriteLineIf(Boolean, Object, String)

Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection si une condition est true.

WriteLineIf(Boolean, Object)

Écrit la valeur de la méthode de ToString() l’objet dans les écouteurs de trace de la Listeners collection si une condition est true.

WriteLineIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la Listeners collection si une condition est true.

WriteLineIf(Boolean, String)

Écrit un message dans les écouteurs de trace dans la Listeners collection si une condition est true.

S’applique à

Cohérence de thread

Ce type est thread safe.

Voir aussi