Trace Třída

Definice

Poskytuje sadu metod a vlastností, které vám pomůžou trasovat provádění kódu. Tuto třídu nelze zdě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 /DTRACE when compiling.

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

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

Třídy BooleanSwitch a 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 naleznete v Switch třídy a Postupy: 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 Listeners nebo odebráním instancí. Kolekci Listeners sdílí Debug i třídy Trace; 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.

Poznámka

Přidání naslouchacího procesu trasování do kolekce Listeners může způsobit výjimku při trasování, pokud prostředek používaný naslouchacím procesem trasování není k dispozici. 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í metod Trace do bloků try/catch k detekci a zpracování výjimek z naslouchacích procesů trasování.

Poznámka

Pokud přidáte naslouchací procesy trasování k částečně důvěryhodnému kódu, získáte výjimku SecurityException, protože přidání naslouchacích procesů trasování vyžaduje oprávnění UnmanagedCode. Pokud chcete trasovat částečně důvěryhodný kód spuštěný v sandboxu v sadě Visual Studio, nepřidávejte naslouchací procesy trasování. Místo toho zobrazte Trace a Debug zprávy 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 není definován jako symbol podmíněné kompilace. V dokumentaci kompilátoru najdete informace o tom, jestli se ConditionalAttribute podporuje, a syntaxi pro definování symbolu podmíněné kompilace.

Poznámka

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 do příkazového řádku kompilátoru možnost /d:TRACE 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 přidejte #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

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

Assert(Boolean, String, String)

Kontroluje podmínku; Pokud je podmínka false, zobrazí se dva zadané zprávy a zobrazí se okno se zprávou se zásobníkem volání.

Assert(Boolean, String)

Kontroluje podmínku; pokud je podmínka false, zobrazí se vypíše zadaná zpráva a zobrazí se okno se zprávou se zásobníkem volání.

Assert(Boolean)

Kontroluje podmínku; pokud je podmínka false, zobrazí okno se zprávou, které 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 jednu.

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 ToString() objektu do naslouchacích procesů trasování v kolekci Listeners.

Write(Object)

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

WriteIf(Boolean, Object)

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

WriteIf(Boolean, String, String)

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

WriteIf(Boolean, String)

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

WriteLine(Object, String)

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

WriteLine(Object)

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

WriteLineIf(Boolean, Object)

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

WriteLineIf(Boolean, String, String)

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

WriteLineIf(Boolean, String)

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

Událost

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é