Debug Třída

Definice

Poskytuje sadu metod a vlastností, které vám pomůžou ladit kód.Provides a set of methods and properties that help debug your 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
Dědičnost
Debug

Příklady

Následující příklad používá Debug k označení začátku a konce provádění programu.The following example uses Debug to indicate the beginning and end of a program's execution. Tento příklad také používá Indent a Unindent k odlišení výstupu trasování.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.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

Poznámky

Použijete-li metody ve Debug třídě k tisku ladicích informací a kontrole logiky s kontrolními výrazy, můžete zvýšit odolnost kódu, aniž by to mělo vliv na výkon a velikost kódu vašeho produktu pro expedici.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.

Tato třída poskytuje metody pro zobrazení Assert dialogového okna a k vygenerování kontrolního výrazu, který bude vždy neúspěšný.This class provides methods to display an Assert dialog box, and to emit an assertion that will always fail. Tato třída poskytuje metody zápisu v následujících variacích: Write , WriteLine WriteIf a WriteLineIf .This class provides write methods in the following variations: Write, WriteLine, WriteIf and WriteLineIf.

BooleanSwitchTřídy a TraceSwitch poskytují prostředky pro dynamické řízení výstupu trasování.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Hodnoty těchto přepínačů můžete upravit bez nutnosti opětovné kompilace aplikace.You can modify the values of these switches without recompiling your application. Informace o použití konfiguračního souboru k nastavení přepínače naleznete v tématu Switch Třída a přepínače trasování .For information on using the configuration file to set a switch, see the Switch class and the Trace Switches topic.

Cílový výstup trasování můžete přizpůsobit přidáním TraceListener instancí nebo odebráním instancí z Listeners kolekce.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. ListenersKolekce je sdílena Debug Trace třídou a třídy; přidání naslouchacího procesu trasování do obou tříd přidá naslouchací proces do obou.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. Ve výchozím nastavení DefaultTraceListener Třída generuje výstup trasování.By default, the DefaultTraceListener class emits trace output.

Poznámka

Přidání naslouchacího procesu trasování do Listeners kolekce může způsobit vyvolání výjimky při trasování, pokud není k dispozici prostředek používaný naslouchacím modulem trasování.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. Podmínky a vyvolané výjimky závisejí na naslouchací službě trasování a nelze je vyčíslit v tomto tématu.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Může být užitečné umístit volání Debug metod v try / catch blocích pro detekci a zpracování všech výjimek z posluchačů trasování.It may be useful to place calls to the Debug methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Úroveň odsazení lze upravit pomocí Indent metody nebo IndentLevel Vlastnosti.You can modify the level of indentation using the Indent method or the IndentLevel property. Chcete-li upravit mezery odsazení, použijte IndentSize vlastnost.To modify the indent spacing, use the IndentSize property. Můžete určit, zda má být výstupní vyrovnávací paměť po každém zápisu automaticky vyprázdněna nastavením AutoFlush vlastnosti na hodnotu true .You can specify whether to automatically flush the output buffer after each write by setting the AutoFlush property to true.

Chcete-li nastavit AutoFlush a IndentSize pro Debug , můžete upravit konfigurační soubor odpovídající názvu vaší aplikace.To set the AutoFlush and IndentSize for Debug, you can edit the configuration file corresponding to the name of your application. Konfigurační soubor by měl být naformátován, jak je znázorněno v následujícím příkladu.The configuration file should be formatted as shown in the following example.

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

ConditionalAttributeAtribut je použit pro metody Debug .The ConditionalAttribute attribute is applied to the methods of Debug. Kompilátory, které podporují ConditionalAttribute ignorování volání těchto metod, pokud "debug" není definován jako podmíněný kompilační symbol.Compilers that support ConditionalAttribute ignore calls to these methods unless "DEBUG" is defined as a conditional compilation symbol. Chcete-li zjistit, zda ConditionalAttribute je podporována, a syntaxí pro definování symbol podmíněné kompilace, přečtěte si dokumentaci k kompilátoru.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Poznámka

V projektech Visual Studio C# a Visual Basic jsou ve výchozím nastavení pro sestavení ladění definovány symboly podmíněné kompilace "DEBUG" a "TRACE" je definován pro sestavení pro ladění i pro vydávání verzí.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. Informace o tom, jak toto chování zakázat, najdete v dokumentaci k sadě Visual Studio.For information about how to disable this behavior, see the Visual Studio documentation. Informace o podmíněném ladění v Visual C++ naleznete v tématu Třída Debug (C++/CLI).For information about conditional debugging in Visual C++, see Debug Class (C++/CLI).

Chcete-li definovat symbol podmíněné kompilace pro ladění v jazyce C#, přidejte /d:DEBUG možnost do příkazového řádku kompilátoru při kompilaci kódu pomocí příkazového řádku nebo přidejte #define DEBUG do horní části souboru.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. V Visual Basic přidejte /d:DEBUG=True možnost do příkazového řádku kompilátoru nebo přidejte #Const DEBUG=True do souboru.In Visual Basic, add the /d:DEBUG=True option to the compiler command line or add #Const DEBUG=True to the file.

Vlastnosti

AutoFlush

Získává nebo nastavuje hodnotu, která označuje, jestli se Flush() má volat Listeners po každém zápisu.Gets or sets a value indicating whether Flush() should be called on the Listeners after every write.

IndentLevel

Získá nebo nastaví úroveň odsazení.Gets or sets the indent level.

IndentSize

Získá nebo nastaví počet mezer v odsazení.Gets or sets the number of spaces in an indent.

Listeners

Získá kolekci posluchačů, které sledují výstup ladění.Gets the collection of listeners that is monitoring the debug output.

Metody

Assert(Boolean)

Kontroluje podmínku. Pokud je podmínka false , zobrazí okno se zprávou, které zobrazuje zásobník volání.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

Kontroluje podmínku. Pokud je podmínka false , výstup zadané zprávy a zobrazí okno se zprávou, která zobrazuje zásobník volání.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)

Kontroluje podmínku. Pokud je podmínka false , výstup dvou zadaných zpráv a zobrazí okno se zprávou, které zobrazuje zásobník volání.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[])

Kontroluje podmínku. Pokud je podmínka false , výstupem jsou dvě zprávy (jednoduché a naformátované) a zobrazí se okno se zprávou, které zobrazuje zásobník volání.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()

Vyprázdní výstupní vyrovnávací paměť a pak zavolá Close metodu na každou z těchto Listeners .Flushes the output buffer and then calls the Close method on each of the Listeners.

Fail(String)

Vygeneruje zadanou chybovou zprávu.Emits the specified error message.

Fail(String, String)

Vygeneruje chybovou zprávu a podrobnou chybovou zprávu.Emits an error message and a detailed error message.

Flush()

Vyprázdní výstupní vyrovnávací paměť a způsobí, že se do kolekce zapisují data do vyrovnávací paměti Listeners .Flushes the output buffer and causes buffered data to write to the Listeners collection.

Indent()

Zvýší aktuální IndentLevel o jeden.Increases the current IndentLevel by one.

Print(String)

Zapíše zprávu následovanou zakončením řádku do posluchačů trasování v Listeners kolekci.Writes a message followed by a line terminator to the trace listeners in the Listeners collection.

Print(String, Object[])

Zapíše formátovaný řetězec následovaný zakončením řádku do posluchačů trasování v Listeners kolekci.Writes a formatted string followed by a line terminator to the trace listeners in the Listeners collection.

Unindent()

Zmenší aktuální IndentLevel o jeden.Decreases the current IndentLevel by one.

Write(Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String)

Zapíše název kategorie a hodnotu ToString() metody objektu pro naslouchací procesy trasování v Listeners kolekci.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String)

Zapíše zprávu do posluchačů trasování v Listeners kolekci.Writes a message to the trace listeners in the Listeners collection.

Write(String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci.Writes a category name and message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka 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)

Zapíše název kategorie a hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka 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)

Zapíše zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String)

Zapíše název kategorie a hodnotu ToString() metody objektu pro naslouchací procesy trasování v Listeners kolekci.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String)

Zapíše zprávu následovanou zakončením řádku do posluchačů trasování v Listeners kolekci.Writes a message followed by a line terminator to the trace listeners in the Listeners collection.

WriteLine(String, Object[])

Zapíše formátovanou zprávu následovanou zakončením řádku do posluchačů trasování v Listeners kolekci.Writes a formatted message followed by a line terminator to the trace listeners in the Listeners collection.

WriteLine(String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci.Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka 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)

Zapíše název kategorie a hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka 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)

Zapíše zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.This type is thread safe.

Viz také