Debug Debug Debug Debug Class

Définition

Fournit un ensemble de méthodes et propriétés qui permettent de déboguer votre code.Provides a set of methods and properties that help debug your code.

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

Exemples

L’exemple suivant utilise Debug pour indiquer le début et la fin de l’exécution d’un programme.The following example uses Debug to indicate the beginning and end of a program's execution. L’exemple utilise également Indent et Unindent pour distinguer la sortie de traçage.The example also uses Indent and Unindent to distinguish the tracing output.

// Specify /DDEBUG when compiling.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;

int main( void )
{
   #if defined(DEBUG)
   Debug::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Debug::AutoFlush = true;
   Debug::Indent();
   Debug::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(DEBUG)
   Debug::WriteLine( "Exiting Main" );
   Debug::Unindent();
   #endif
   return 0;
}
// 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
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

Si vous utilisez des méthodes dans la Debug classe pour imprimer les informations de débogage et vérifier votre logique avec des assertions, vous pouvez renforcer votre code sans affecter la taille du code et les performances de votre produit d’envoi.If you use methods in the Debug class to print debugging information and check your logic with assertions, you can make your code more robust without impacting the performance and code size of your shipping product.

Cette classe fournit des méthodes pour afficher une Assert boîte de dialogue et à émettre une assertion qui échoue toujours.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 avec les variations suivantes : Write, WriteLine, WriteIf et WriteLineIf.This class provides write methods in the following variations: Write, WriteLine, WriteIf and WriteLineIf.

Le BooleanSwitch et TraceSwitch classes fournissent des moyens de contrôler de manière dynamique 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 Switch classe et le commutateurs de Trace rubrique.For information on using the configuration file to set a switch, see the Switch class and the Trace Switches topic.

Vous pouvez personnaliser la cible de la sortie du traçage en ajoutant TraceListener instances à ou supprimant des instances à partir de la Listeners collection.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. Le Listeners collection est partagée par les deux le Debug et Trace classes ; Ajout d’un écouteur de suivi à ces deux 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, le DefaultTraceListener classe émet une sortie de trace.By default, the DefaultTraceListener class emits trace output.

Notes

Ajout d’un écouteur de trace à le Listeners collection peut provoquer une exception levée lors du traçage, si une ressource utilisée par l’écouteur de suivi 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 peut pas être énumérés 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 placer des appels à la Debug méthodes dans try / catch blocs pour détecter et gérer toutes les exceptions à partir des écouteurs de suivi.It may be useful to place calls to the Debug methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Vous pouvez modifier le niveau de mise en retrait à l’aide de la Indent méthode ou le IndentLevel propriété.You can modify the level of indentation using the Indent method or the IndentLevel property. Pour modifier l’espacement de la mise en retrait, utilisez la IndentSize propriété.To modify the indent spacing, use the IndentSize property. Vous pouvez spécifier s’il faut automatiquement vider le tampon de sortie après chaque écriture en définissant le AutoFlush propriété true.You can specify whether to automatically flush the output buffer after each write by setting the AutoFlush property to true.

Pour définir le AutoFlush et IndentSize pour Debug, vous pouvez modifier le fichier de configuration correspondant au nom de votre application.To set the AutoFlush and IndentSize for Debug, you can edit the configuration file corresponding to the name of your application. Le fichier de configuration doit être mis en forme comme illustré dans l’exemple suivant.The configuration file should be formatted as shown in the following example.

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

Le ConditionalAttribute attribut est appliqué aux méthodes de Debug.The ConditionalAttribute attribute is applied to the methods of Debug. Les compilateurs qui prennent en charge ConditionalAttribute ignorer les appels à ces méthodes, sauf si « DEBUG » est défini comme un symbole de compilation conditionnelle.Compilers that support ConditionalAttribute ignore calls to these methods unless "DEBUG" 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 pour 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 c# et Visual Basic, par défaut, le symbole de compilation conditionnelle « DEBUG » est défini pour les versions debug, et le symbole « TRACE » est défini pour les deux déboguer et les versions release.In Visual Studio C# and Visual Basic 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 plus d’informations sur le débogage conditionnel dans Visual C++, consultez Debug, classe (C++ / c++ / CLI).For information about conditional debugging in Visual C++, see Debug Class (C++/CLI).

Pour définir le symbole de compilation conditionnelle « DEBUG » en c#, ajoutez le /d:DEBUG option à la ligne de commande du compilateur lorsque vous compilez votre code à l’aide d’une ligne de commande, ou ajouter #define DEBUG vers le haut de votre fichier.To define the "DEBUG" conditional compilation symbol in C#, add the /d:DEBUG option to the compiler command line when you compile your code using a command line, or add #define DEBUG to the top of your file. Dans Visual Basic, ajoutez le /d:DEBUG=True option à la ligne de commande du compilateur ou ajoutez #Const DEBUG=True au fichier.In Visual Basic, add the /d:DEBUG=True option to the compiler command line or add #Const DEBUG=True to the file.

Propriétés

AutoFlush AutoFlush AutoFlush AutoFlush

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

IndentLevel IndentLevel IndentLevel IndentLevel

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

IndentSize IndentSize IndentSize IndentSize

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

Listeners Listeners Listeners Listeners

Obtient la collection des écouteurs qui surveillent la sortie de débogage.Gets the collection of listeners that is monitoring the debug output.

Méthodes

Assert(Boolean) Assert(Boolean) Assert(Boolean) 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) Assert(Boolean, String) Assert(Boolean, String) 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) Assert(Boolean, String, String) Assert(Boolean, String, String) 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.

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

Vérifie une condition ; si la condition est false, affiche deux messages (simples et mis en forme) et une boîte de message qui mentionne la pile des appels.Checks for a condition; if the condition is false, outputs two messages (simple and formatted) and displays a message box that shows the call stack.

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

Vide la mémoire tampon de sortie, puis appelle la méthode Close sur chaque Listeners.Flushes the output buffer and then calls the Close method on each of the Listeners.

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

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

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

Envoie un message d'erreur ainsi qu'un message d'erreur détaillé.Emits an error message and a detailed error message.

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

Vide la mémoire tampon de sortie et entraîne l'écriture des données de la mémoire tampon dans la collection Listeners.Flushes the output buffer and causes buffered data to write to the Listeners collection.

Indent() Indent() Indent() Indent()

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

Print(String) Print(String) Print(String) Print(String)

Écrit un message suivi d'un terminateur de ligne sur les écouteurs de trace de la collection Listeners.Writes a message followed by a line terminator to the trace listeners in the Listeners collection.

Print(String, Object[]) Print(String, Object[]) Print(String, Object[]) Print(String, Object[])

Écrit une chaîne mise en forme, suivie d'un terminateur de ligne sur les écouteurs de trace de la collection Listeners.Writes a formatted string followed by a line terminator to the trace listeners in the Listeners collection.

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

Diminue d'une unité le IndentLevel actuel.Decreases the current IndentLevel by one.

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

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

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

Écrit un nom de catégorie et la valeur de la méthode ToString() de l'objet sur les écouteurs de trace 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(Object) Write(Object) Write(Object) Write(Object)

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

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

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

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

Écrit la valeur de la méthode ToString() de l'objet sur les écouteurs de trace de la collection Listeners si une condition a la valeur 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, String) WriteIf(Boolean, String) WriteIf(Boolean, String) WriteIf(Boolean, String)

Écrit un message dans les écouteurs de trace 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, Object, String) WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String)

Écrit un nom de catégorie ainsi que la valeur de la méthode ToString() de l'objet sur les écouteurs de trace 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, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de 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) WriteLine(Object) WriteLine(Object) WriteLine(Object)

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

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

Écrit un message suivi d'un terminateur de ligne sur les écouteurs de trace de la collection Listeners.Writes a message followed by a line terminator to the trace listeners in the Listeners collection.

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

Écrit un nom de catégorie et la valeur de la méthode ToString() de l'objet sur les écouteurs de trace 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, Object[]) WriteLine(String, Object[]) WriteLine(String, Object[]) WriteLine(String, Object[])

Écrit un message mis en forme suivi d'un terminateur de ligne dans les écouteurs de la trace de la collection Listeners.Writes a formatted message followed by a line terminator to the trace listeners in the Listeners collection.

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

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

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

Écrit un nom de catégorie ainsi que la valeur de la méthode ToString() de l'objet sur les écouteurs de trace 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, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object)

Écrit la valeur de la méthode ToString() de l'objet sur les écouteurs de trace de la collection Listeners si une condition a la valeur 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, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String)

Écrit un message dans les écouteurs de trace 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) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de 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’applique à

Cohérence de thread

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

Voir aussi