Trace Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en uppsättning metoder och egenskaper som du kan använda för att spåra körningen av koden. Det går inte att ärva den här klassen.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Arv
-
Trace
Exempel
I följande exempel används Trace för att ange början och slutet av ett programs körning. I exemplet används Trace.Indent även metoderna och Trace.Unindent för att särskilja spårningsutdata. Ett mer komplett exempel på användningen av Tracefinns i How to: Add Trace Statements to Application Code (Så här lägger du till spårningsuttryck i Programkod).
// 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
Kommentarer
Du kan använda egenskaperna och metoderna i Trace klassen för att instrumentera versionsversioner. Med instrumentering kan du övervaka hälsotillståndet för ditt program som körs i verkliga inställningar. Spårning hjälper dig att isolera problem och åtgärda dem utan att störa ett system som körs.
Den här klassen innehåller metoder för att visa en Assert dialogruta och för att generera en försäkran som alltid Failkommer att . Den här klassen innehåller skrivmetoder i följande varianter:
Klasserna BooleanSwitch och TraceSwitch ger möjlighet att dynamiskt kontrollera spårningsutdata. I .NET Framework-appar kan du ändra värdena för dessa växlar utan att kompilera om ditt program. Information om hur du använder konfigurationsfilen för att ange en växel i en .NET Framework-app finns i klassen Switch och How to: Create, Initialize, and Configure Trace Switchs.
Du kan anpassa spårningsutdatans mål genom att lägga till TraceListener instanser i eller ta bort instanser från Listeners samlingen. Samlingen Listeners delas av både klasserna Debug och Trace . Om du lägger till en spårningslyssnare i någon av klasserna läggs lyssnaren till i båda. Som standard genereras spårningsutdata med hjälp av DefaultTraceListener -klassen.
Note
Om du lägger till en spårningslyssnare i Listeners samlingen kan ett undantag genereras under spårningen, om en resurs som används av spårningslyssnaren inte är tillgänglig. Villkoren och undantaget som genereras beror på spårningslyssnaren och kan inte räknas upp i det här avsnittet. Det kan vara användbart att ringa anrop till Trace metoderna i try/catch block för att identifiera och hantera eventuella undantag från spårningslyssnare.
Note
Om du lägger till spårningslyssnare i delvis betrodd kod får du ett SecurityException undantag eftersom det krävs UnmanagedCode behörighet att lägga till spårningslyssnare. Om du vill spåra delvis betrodd kod som körs i en sandbox-miljö i Visual Studio lägger du inte till spårningslyssnare. Visa i stället meddelandena Trace och Debug i fönstret Utdata .
Klassen Trace innehåller egenskaper för att hämta eller ange nivån Indent för och IndentSize, och om AutoFlush till efter varje skrivning.
I .NET Framework-appar kan du ange AutoFlush och IndentSize för Trace genom att redigera konfigurationsfilen som motsvarar namnet på ditt program. Konfigurationsfilen ska formateras som i följande exempel:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Attributet ConditionalAttribute tillämpas på metoderna Traceför . Kompilatorer som stöder ConditionalAttribute ignorerar anrop till dessa metoder om de inte TRACE definieras som en villkorsstyrd kompileringssymbol. Se dokumentationen för en kompilator för att avgöra om ConditionalAttribute stöds och syntaxen för att definiera en villkorsstyrd kompileringssymbol.
Note
I Visual Studio projekt definieras som standard symbolen DEBUG villkorlig kompilering för felsökningsversioner och symbolen TRACE definieras för både felsöknings- och versionsversioner.
Om du vill definiera symbolen TRACE för villkorsstyrd kompilering i C# lägger du till /d:TRACE alternativet på kommandoraden för kompilatorn när du kompilerar koden med hjälp av en kommandorad eller lägger till #define TRACE överst i filen. I Visual Basic lägger du till alternativet /d:TRACE=True på kommandoraden för kompilatorn eller lägger till #Const TRACE=True i filen.
ConditionalAttribute stöds inte av C++-kompilatorn. För att tillhandahålla motsvarande funktioner måste du omsluta anrop till metoderna Trace för i ett #if defined(TRACE) ... #endif block och lägga till /DTRACE alternativet på kommandoraden för kompilatorn eller lägga till #define TRACE i filen.
Egenskaper
| Name | Description |
|---|---|
| AutoFlush |
Hämtar eller anger om Flush() ska anropas efter Listeners varje skrivning. |
| CorrelationManager |
Hämtar korrelationshanteraren för tråden för den här spårningen. |
| IndentLevel |
Hämtar eller anger indragsnivån. |
| IndentSize |
Hämtar eller anger antalet blanksteg i ett indrag. |
| Listeners |
Hämtar samlingen av lyssnare som övervakar spårningsutdata. |
| UseGlobalLock |
Hämtar eller anger ett värde som anger om det globala låset ska användas. |
Metoder
| Name | Description |
|---|---|
| Assert(Boolean, String, String) |
Söker efter ett villkor. om villkoret är |
| Assert(Boolean, String) |
Söker efter ett villkor. om villkoret är |
| Assert(Boolean) |
Söker efter ett villkor. om villkoret är |
| Close() |
Tömer utdatabufferten och stänger Listenerssedan . |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Fail(String, String) |
Genererar ett felmeddelande och ett detaljerat felmeddelande. |
| Fail(String) |
Genererar det angivna felmeddelandet. |
| Flush() |
Rensar utdatabufferten och gör att buffrade data skrivs till Listeners. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| Indent() |
Ökar strömmen IndentLevel med en. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Refresh() |
Uppdaterar spårningskonfigurationsdata. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TraceError(String, Object[]) |
Skriver ett felmeddelande till spårningslyssnare Listeners i samlingen med hjälp av den angivna matrisen med objekt och formateringsinformation. |
| TraceError(String) |
Skriver ett felmeddelande till spårningslyssnare Listeners i samlingen med det angivna meddelandet. |
| TraceInformation(String, Object[]) |
Skriver ett informationsmeddelande till spårningslyssnare Listeners i samlingen med hjälp av den angivna matrisen med objekt och formateringsinformation. |
| TraceInformation(String) |
Skriver ett informationsmeddelande till spårningslyssnare Listeners i samlingen med det angivna meddelandet. |
| TraceWarning(String, Object[]) |
Skriver ett varningsmeddelande till spårningslyssnare Listeners i samlingen med hjälp av den angivna matrisen med objekt och formateringsinformation. |
| TraceWarning(String) |
Skriver ett varningsmeddelande till spårningslyssnare Listeners i samlingen med det angivna meddelandet. |
| Unindent() |
Minskar strömmen IndentLevel med en. |
| Write(Object, String) |
Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen. |
| Write(Object) |
Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen. |
| Write(String, String) |
Skriver ett kategorinamn och ett meddelande till spårningslyssnare i Listeners samlingen. |
| Write(String) |
Skriver ett meddelande till spårningslyssnare i Listeners samlingen. |
| WriteIf(Boolean, Object, String) |
Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är |
| WriteIf(Boolean, Object) |
Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är |
| WriteIf(Boolean, String, String) |
Skriver ett kategorinamn och ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är |
| WriteIf(Boolean, String) |
Skriver ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är |
| WriteLine(Object, String) |
Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen. |
| WriteLine(Object) |
Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen. |
| WriteLine(String, String) |
Skriver ett kategorinamn och ett meddelande till spårningslyssnare i Listeners samlingen. |
| WriteLine(String) |
Skriver ett meddelande till spårningslyssnare i Listeners samlingen. |
| WriteLineIf(Boolean, Object, String) |
Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är |
| WriteLineIf(Boolean, Object) |
Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är |
| WriteLineIf(Boolean, String, String) |
Skriver ett kategorinamn och ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är |
| WriteLineIf(Boolean, String) |
Skriver ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är |
Händelser
| Name | Description |
|---|---|
| Refreshing |
Inträffar när en TraceSource måste uppdateras från konfigurationen. |
Gäller för
Trådsäkerhet
Den här typen är trådsäker.