Sdílet prostřednictvím


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. V příkladu Trace.Indent se také používají metody a Trace.Unindent k odlišení výstupu trasování. Úplnější příklad použití nástroje najdete v Traceté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 vaší aplikace spuštěné v nastaveních reálného života. Trasování pomáhá izolovat problémy a opravit je bez narušení spuštěného systému.

Tato třída poskytuje metody zobrazení dialogového Assert okna 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 najdete v tématu Switch třída a Postupy: Create, 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 jejich odebráním Listeners . Kolekce Listeners je sdílena třídami a DebugTrace ; přidáním naslouchacího procesu trasování do obou tříd přidáte naslouchací proces do obou tříd. Ve výchozím nastavení se výstup trasování vysílá pomocí DefaultTraceListener třídy .

Poznámka

Přidání naslouchacího Listeners procesu trasování do kolekce 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í Trace metod do try/catch bloků, aby se zjistily a zpracovály případné výjimky z naslouchacích procesů trasování.

Poznámka

Pokud přidáte naslouchací procesy trasování do částečně důvěryhodného kódu, dojde k výjimce SecurityException , 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 sadě Visual Studio, nepřidávejte naslouchací procesy trasování. Místo toho zobrazte Trace zprávy a Debug v okně Výstup .

Třída Trace poskytuje vlastnosti pro získání nebo nastavení úrovně Indent a a IndentSizezda po AutoFlush 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 vaší 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 nástroje Trace. Kompilátory, které podporují ConditionalAttribute , ignorují volání těchto metod, pokud TRACE není definován 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 sady Visual Studio je ve výchozím nastavení DEBUG symbol podmíněné kompilace definován pro sestavení ladění a TRACE symbol je definován pro sestavení ladění i sestavení 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řidání #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 přidejte #Const TRACE=True do souboru .

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

Vlastnosti

AutoFlush

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

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 označující, zda má být použit globální zámek.

Metody

Assert(Boolean)

Kontroluje podmínku; Pokud je falsepodmínka , zobrazí okno se zprávou se zásobníkem volání.

Assert(Boolean, String)

Kontroluje podmínku; Pokud je falsepodmínka , výstupem je zadaná zpráva a zobrazí se okno se zprávou se zásobníkem volání.

Assert(Boolean, String, String)

Kontroluje podmínku; Pokud je falsepodmínka , výstup dvě zadané zprávy a zobrazí okno se zprávou, které zobrazuje zásobník volání.

Close()

Vyprázdní výstupní vyrovnávací paměť a pak zavře Listeners.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Fail(String)

Vygeneruje zadanou chybovou zprávu.

Fail(String, String)

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

Flush()

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

GetHashCode()

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

Zvýší proud IndentLevel o jednu.

MemberwiseClone()

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

(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)

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

TraceError(String, Object[])

Zapíše chybovou zprávu do trasovacích naslouchacích procesů 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.

TraceInformation(String, Object[])

Zapíše informační zprávu do trasovacích naslouchacích procesů 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.

TraceWarning(String, Object[])

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

Unindent()

Sníží proud IndentLevel o jednu.

Write(Object)

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

Write(Object, String)

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

Write(String)

Zapíše zprávu 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 .

WriteIf(Boolean, Object)

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

WriteIf(Boolean, Object, String)

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

WriteIf(Boolean, String)

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

WriteIf(Boolean, String, String)

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

WriteLine(Object)

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

WriteLine(Object, String)

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

WriteLine(String)

Zapíše zprávu 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 .

WriteLineIf(Boolean, Object)

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

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, String)

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

WriteLineIf(Boolean, String, String)

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

Událost

Refreshing

Vyvolá se v TraceSource případě, že je potřeba aktualizovat 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é