Trace 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é 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 |
Assert(Boolean, String) |
Kontroluje podmínku; pokud je podmínka |
Assert(Boolean) |
Kontroluje podmínku; pokud je podmínka |
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 |
WriteIf(Boolean, Object) |
Zapíše hodnotu metody ToString() objektu do naslouchacích procesů trasování v kolekci Listeners, pokud je podmínka |
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 |
WriteIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v kolekci Listeners, pokud je podmínka |
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 |
WriteLineIf(Boolean, Object) |
Zapíše hodnotu metody ToString() objektu do naslouchacích procesů trasování v kolekci Listeners, pokud je podmínka |
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 |
WriteLineIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v kolekci Listeners, pokud je podmínka |
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.