Sdílet prostřednictvím


Debug Třída

Definice

Poskytuje sadu metod a vlastností, které pomáhají ladit kód.

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. Příklad také používá Indent a Unindent k rozlišení výstupu trasování.

// 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

Pokud chcete, aby byl kód robustnější, aniž by to mělo vliv na výkon a velikost kódu expedičního produktu, použijte metody ve Debug třídě k tisku informací o ladění a kontrole logiky pomocí kontrolních výrazů.

Tato třída poskytuje metody pro zobrazení dialogového Assert okna a generování kontrolního výrazu, který bude vždy neúspěšný. Tato třída poskytuje metody zápisu v následujících variantách:

TraceSwitch Třídy BooleanSwitch poskytují prostředky pro dynamické řízení výstupu trasování. U aplikací rozhraní .NET Framework můžete upravit hodnoty těchto přepínačů bez opětovného zkompilování aplikace. Informace o použití konfiguračního souboru k nastavení přepínače v aplikacích .NET Framework najdete Switch v článku Třídy a přepínače trasování .

Cíl výstupu trasování můžete přizpůsobit přidáním TraceListener instancí do kolekce nebo odebráním instancí z Listeners kolekce. Kolekce Listeners je sdílena oběma Debug třídami a Trace třídami; přidání naslouchacího procesu trasování do obou tříd přidá naslouchací proces. Ve výchozím nastavení DefaultTraceListener třída generuje výstup trasování.

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 procesem trasování. Podmínky a vyvolaná výjimka závisí na naslouchacím procesu trasování a nelze je v tomto článku vyčíslit. Může být užitečné umístit volání Debug metod do try/catch bloků za účelem zjištění a zpracování výjimek z naslouchacích procesů trasování.

Úroveň odsazení můžete upravit pomocí Indent metody nebo IndentLevel vlastnosti. Pokud chcete upravit mezery mezi odsazením, použijte IndentSize tuto vlastnost. Můžete určit, zda se má výstupní vyrovnávací paměť automaticky vyprázdnit po každém zápisu nastavením AutoFlush vlastnosti na truehodnotu .

Pro aplikace .NET Framework můžete nastavit AutoFlush a IndentSize pro Debug úpravy konfiguračního souboru vaší aplikace. Konfigurační soubor by měl být formátovaný, jak je znázorněno v následujícím příkladu.

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

Atribut ConditionalAttribute se použije na metody Debug. Kompilátory, které podporují ConditionalAttribute ignorovat volání těchto metod, pokud DEBUG nejsou definovány jako symbol podmíněné kompilace. Informace o tom, jestli ConditionalAttribute se podporuje, a syntaxi pro definování symbolu podmíněné kompilace najdete v dokumentaci kompilátoru.

Poznámka:

V projektech Visual Studio C# a Visual Basic je ve výchozím nastavení DEBUG definovaný symbol podmíněné kompilace pro sestavení ladění a TRACE symbol je definován pro sestavení ladění i vydané verze. Informace o podmíněném ladění v jazyce Visual C++ naleznete v tématu Ladicí třída (C++/CLI).

Pokud chcete definovat DEBUG symbol podmíněné kompilace 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 na začátek souboru. V jazyce Visual Basic přidejte /d:DEBUG=True možnost do příkazového řádku kompilátoru nebo do souboru.#Const DEBUG=True

Vlastnosti

Name Description
AutoFlush

Získá nebo nastaví hodnotu označující, zda Flush() má být volána po každém zápisu Listeners .

IndentLevel

Získá nebo nastaví úroveň odsazení.

IndentSize

Získá nebo nastaví počet mezer v odsazení.

Listeners

Získá kolekci naslouchacích procesů, které monitorují výstup ladění.

Metody

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

Kontroluje podmínku; pokud je falsepodmínka , zobrazí zadanou zprávu a zobrazí okno se zprávou, která zobrazuje zásobník volání.

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

Kontroluje podmínku; pokud je falsepodmínka , zobrazí zadanou zprávu a zobrazí okno se zprávou, která zobrazuje zásobník volání.

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

Kontroluje podmínku; pokud je falsepodmínka , vypíše dvě zprávy (jednoduché a formátované) a zobrazí okno se zprávou, která zobrazuje zásobník volání.

Assert(Boolean, String, String)

Kontroluje podmínku; pokud je falsepodmínka , zobrazí dva zadané zprávy a zobrazí okno se zprávou, která zobrazuje zásobník volání.

Assert(Boolean, String)

Kontroluje podmínku; pokud je falsepodmínka , zobrazí zadanou zprávu a zobrazí okno se zprávou, která zobrazuje zásobník volání.

Assert(Boolean)

Kontroluje podmínku; pokud je falsepodmínka , zobrazí okno se zprávou, ve které se zobrazuje zásobník volání.

Close()

Vyprázdní výstupní vyrovnávací paměť a potom zavolá metodu Close na každém z nich Listeners.

Fail(String, String)

Vygeneruje chybovou zprávu a podrobnou chybovou zprávu.

Fail(String)

Vygeneruje zadanou chybovou zprávu.

Flush()

Vyprázdní výstupní vyrovnávací paměť a způsobí zápis dat do vyrovnávací paměti do Listeners kolekce.

Indent()

Zvýší aktuální IndentLevel o jeden.

Print(String, Object[])

Zapíše formátovaný řetězec následovaný ukončovacím znakem řádku do naslouchacích procesů trasování v kolekci Listeners .

Print(String)

Zapíše zprávu následovanou ukončovacím znakem řádku do naslouchacích procesů trasování v kolekci Listeners .

Unindent()

Zmenší aktuální IndentLevel o jeden.

Write(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacích procesů trasování v kolekci Listeners .

Write(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v kolekci Listeners .

Write(String, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v kolekci Listeners .

Write(String)

Zapíše zprávu do naslouchacích procesů trasování v kolekci Listeners .

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truezadaná podmínka .

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Pokud condition ano true, zapíše název kategorie a zprávu do naslouchacích procesů trasování v kolekci Listeners .

WriteIf(Boolean, Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteIf(Boolean, Object)

Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteIf(Boolean, String, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteIf(Boolean, String)

Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteLine(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacích procesů trasování v kolekci Listeners .

WriteLine(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v kolekci Listeners .

WriteLine(String, Object[])

Zapíše formátovanou zprávu následovanou ukončovacím znakem řádku do naslouchacích procesů trasování v kolekci Listeners .

WriteLine(String, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v kolekci Listeners .

WriteLine(String)

Zapíše zprávu následovanou ukončovacím znakem řádku do naslouchacích procesů trasování v kolekci Listeners .

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truezadaná podmínka .

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truezadaná podmínka .

WriteLineIf(Boolean, Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteLineIf(Boolean, Object)

Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteLineIf(Boolean, String, String)

Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

WriteLineIf(Boolean, String)

Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je truepodmínka .

Platí pro

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

Tento typ je bezpečný pro přístup z více vláken.

Viz také