Trace Třída

Definice

Poskytuje sadu metod a vlastností, které pomáhají trasovat provádění kódu. Tato třída se nemůže dědit.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Dědičnost
Trace

Příklady

Následující příklad používá Trace k označení začátku a konce provádění programu. Příklad také používá Trace.Indent a Trace.Unindent metody k rozlišení výstupu trasování. Podrobnější příklad použití Tracenaleznete v tématu Postupy: Přidání příkazů trasování do kódu aplikace.

// Specify /d:TRACE when compiling.

using System;
using System.Diagnostics;

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

Imports System.Diagnostics

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

End Class

Poznámky

K instrumentaci sestavení vydaných verzí můžete použít vlastnosti a metody ve Trace třídě. Instrumentace umožňuje monitorovat stav aplikace spuštěné v reálném životě. Trasování pomáhá izolovat problémy a opravit je bez narušení spuštěného systému.

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

BooleanSwitch Třídy TraceSwitch poskytují prostředky pro dynamické řízení výstupu trasování. V aplikacích .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 aplikaci .NET Framework najdete v Switch třídy a Pokud na: Vytvoření, inicializace a konfigurace přepínačů 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í se výstup trasování vygeneruje pomocí třídy DefaultTraceListener.

Note

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 tématu vyčíslit. Může být užitečné umístit volání Trace metod do try/catch bloků za účelem zjištění a zpracování výjimek z naslouchacích procesů trasování.

Note

Pokud přidáte naslouchací procesy trasování k částečně důvěryhodnému kódu, zobrazí se SecurityException výjimka, protože přidání naslouchacích procesů trasování vyžaduje UnmanagedCode oprávnění. Pokud chcete trasovat částečně důvěryhodný kód spuštěný v sandboxu v Visual Studio, nepřidávejte naslouchací procesy trasování. Místo toho si prohlédněte Trace zprávy Debug v okně Výstup .

Třída Trace poskytuje vlastnosti pro získání nebo nastavení úrovně Indent a IndentSizea zda se mají AutoFlush po každém zápisu.

V aplikacích .NET Framework můžete nastavit AutoFlush a IndentSize pro Trace úpravou konfiguračního souboru, který odpovídá názvu aplikace. Konfigurační soubor by měl být formátovaný jako v následujícím příkladu:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="3" />
  </system.diagnostics>
</configuration>

Atribut ConditionalAttribute se použije na metody Trace. Kompilátory, které podporují ConditionalAttribute ignorovat volání těchto metod, pokud TRACE 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.

Note

V projektech sady Visual Studio je ve výchozím nastavení definován symbol podmíněné kompilace DEBUG pro sestavení ladění a symbol TRACE je definován pro sestavení ladění i vydané verze.

Pokud chcete definovat TRACE symbol podmíněné kompilace v jazyce C#, přidejte /d:TRACE možnost do příkazového řádku kompilátoru při kompilaci kódu pomocí příkazového řádku nebo přidejte #define TRACE na začátek souboru. V jazyce Visual Basic přidejte /d:TRACE=True možnost do příkazového řádku kompilátoru nebo do souboru.#Const TRACE=True

ConditionalAttribute kompilátor C++ nepodporuje. Chcete-li poskytovat ekvivalentní funkce, musíte uzavřít volání metod Trace do bloku #if defined(TRACE) ... #endif a přidat /DTRACE možnost do příkazového řádku kompilátoru nebo do souboru přidat #define TRACE.

Vlastnosti

Name Description
AutoFlush

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

CorrelationManager

Získá správce korelace pro vlákno pro toto trasování.

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 trasování.

UseGlobalLock

Získá nebo nastaví hodnotu určující, zda má být použit globální zámek.

Metody

Name Description
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 zavře Listeners.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
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 uložených do vyrovnávací paměti do Listeners.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
Indent()

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

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Refresh()

Aktualizuje konfigurační data trasování.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TraceError(String, Object[])

Zapíše chybovou zprávu do naslouchacích procesů trasování v kolekci Listeners pomocí zadaného pole objektů a informací o formátování.

TraceError(String)

Zapíše chybovou zprávu do naslouchacích procesů trasování v kolekci Listeners pomocí zadané zprávy.

TraceInformation(String, Object[])

Zapíše informační zprávu do naslouchacích procesů trasování v kolekci Listeners pomocí zadaného pole objektů a informací o formátování.

TraceInformation(String)

Zapíše informační zprávu do naslouchacích procesů trasování v kolekci Listeners pomocí zadané zprávy.

TraceWarning(String, Object[])

Zapíše zprávu upozornění do naslouchacích procesů trasování v kolekci Listeners pomocí zadaného pole objektů a informací o formátování.

TraceWarning(String)

Zapíše zprávu upozornění do naslouchacích procesů trasování v kolekci Listeners pomocí zadané zprávy.

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, 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, String)

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

WriteLine(String)

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

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 .

Událost

Name Description
Refreshing

Nastane, když je potřeba aktualizovat TraceSource z konfigurace.

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é