Debug Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
| Assert(Boolean, Debug+AssertInterpolatedStringHandler) |
Kontroluje podmínku; pokud je |
| Assert(Boolean, String, String, Object[]) |
Kontroluje podmínku; pokud je |
| Assert(Boolean, String, String) |
Kontroluje podmínku; pokud je |
| Assert(Boolean, String) |
Kontroluje podmínku; pokud je |
| Assert(Boolean) |
Kontroluje podmínku; pokud je |
| Close() |
Vyprázdní výstupní vyrovnávací paměť a potom zavolá metodu |
| 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 |
| WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Pokud |
| 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 |
| WriteIf(Boolean, Object) |
Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| WriteIf(Boolean, String, String) |
Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| WriteIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| 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 |
| WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| 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 |
| WriteLineIf(Boolean, Object) |
Zapíše hodnotu metody objektu ToString() do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| WriteLineIf(Boolean, String, String) |
Zapíše název kategorie a zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je |
| WriteLineIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v Listeners kolekci, pokud je |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro přístup z více vláken.