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é 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 |
Assert(Boolean, String) |
Kontroluje podmínku; Pokud je |
Assert(Boolean, String, String) |
Kontroluje podmínku; Pokud je |
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 |
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 |
WriteIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v kolekci Listeners , pokud je |
WriteIf(Boolean, String, String) |
Zapíše název kategorie a zprávu do naslouchacích procesů trasování v kolekci Listeners , pokud je |
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 |
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 |
WriteLineIf(Boolean, String) |
Zapíše zprávu do naslouchacích procesů trasování v kolekci Listeners , pokud je |
WriteLineIf(Boolean, String, String) |
Zapíše název kategorie a zprávu do naslouchacích procesů trasování v kolekci Listeners , pokud je |
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.