Trace Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Olyan metódusokat és tulajdonságokat biztosít, amelyek segítik a kód végrehajtásának nyomkövetését. Ez az osztály nem örökölhető.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Öröklődés
-
Trace
Példák
Az alábbi példa Trace egy program végrehajtásának kezdetét és végét jelzi. A példa a nyomkövetési kimenet megkülönböztetésére is használja a Trace.IndentTrace.Unindent metódusokat. Az alkalmazás használatára vonatkozó teljesebb példa: Trace utasítások hozzáadása az Alkalmazáskódhoz.
// 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
Megjegyzések
Az osztályban található tulajdonságokat és metódusokat használhatja a Trace rendszerállapot-buildek kiadásához. A Rendszerezés lehetővé teszi az alkalmazás valós környezetben futó állapotának monitorozását. A nyomkövetés segít elkülöníteni a problémákat, és kijavítani őket a futó rendszer megzavarása nélkül.
Ez az osztály metódusokat biztosít egy Assert párbeszédpanel megjelenítéséhez és egy mindig Failérvényes állítás kibocsátásához. Ez az osztály az alábbi változatokban nyújt írási metódusokat:
Az BooleanSwitch osztályokkal TraceSwitch dinamikusan szabályozható a nyomkövetési kimenet. A .NET Framework-alkalmazásokban az alkalmazás újrafordítása nélkül módosíthatja ezeknek a kapcsolóknak az értékeit. További információ arról, hogy a konfigurációs fájl használatával állítson be kapcsolót egy .NET-keretrendszeralkalmazásban, tekintse meg a Switch osztályt és a Hogyan: Nyomkövetési kapcsolók létrehozása, inicializálása és konfigurálása.
A nyomkövetési kimenet célját testre szabhatja, ha példányokat ad hozzá TraceListener a gyűjteményhez, vagy eltávolítja a példányokat a Listeners gyűjteményből. A Listeners gyűjteményt mind az osztályok, mind az DebugTrace osztályok megosztják; a nyomkövetési figyelő bármelyik osztályhoz való hozzáadása mindkét osztályhoz hozzáadja a figyelőt. Alapértelmezés szerint a nyomkövetési kimenet az DefaultTraceListener osztály használatával lesz kibocsátva.
Note
A nyomkövetési figyelő gyűjteményhez való hozzáadása kivételt okozhat a Listeners nyomkövetés során, ha a nyomkövetési figyelő által használt erőforrás nem érhető el. A kibocsátott feltételek és kivétel a nyomkövetési figyelőtől függenek, és ebben a témakörben nem lehet számba venni. A nyomkövetési figyelők kivételeinek észleléséhez és kezeléséhez hasznos lehet a blokkokban lévő Tracetry/ metódusokhoz intézett hívások catch indítása.
Note
Ha részlegesen megbízható kódhoz ad hozzá nyomkövetési figyelőket, kivételt SecurityException fog kapni, mert a nyomkövetési figyelők hozzáadásához engedélyre van szükség UnmanagedCode . Ha egy tesztkörnyezetben futó, részben megbízható kódot szeretne nyomon követni Visual Studio, ne adjon hozzá nyomkövetési figyelőket. Ehelyett tekintse meg az és Trace az Debug üzeneteket a Kimenet ablakban.
Az Trace osztály tulajdonságokat biztosít az egyes írási szintek és Indentszintek lekéréséhez IndentSize vagy beállításához, valamint az egyes írások után.AutoFlush
A .NET Framework-alkalmazásokban beállíthatja a AutoFlush és IndentSizeTrace beállításához az alkalmazás nevének megfelelő konfigurációs fájlt. A konfigurációs fájlt a következő példához hasonlóan kell formázni:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Az ConditionalAttribute attribútum a metódusokra Tracelesz alkalmazva. Azok a fordítók, amelyek támogatják ConditionalAttribute az ilyen metódusok hívásait, kivéve, ha TRACE feltételes fordítási szimbólumként vannak definiálva. Tekintse meg a fordító dokumentációját annak megállapításához, hogy támogatott-e ConditionalAttribute a rendszer, valamint a feltételes fordítási szimbólumok meghatározásának szintaxisát.
Note
A Visual Studio-projektekben alapértelmezés szerint a DEBUG feltételes fordítási szimbólum van definiálva a hibakeresési buildekhez, a TRACE szimbólum pedig a hibakeresési és kiadási buildekhez is.
A feltételes fordítási szimbólum C#-ban való definiálásához TRACE adja hozzá a /d:TRACE kapcsolót a fordító parancssorához, amikor a kódot parancssor használatával fordítja le, vagy adja hozzá #define TRACE a fájl tetejére. A Visual Basic adja hozzá a /d:TRACE=True beállítást a fordító parancssorához, vagy adja hozzá a #Const TRACE=True a fájlhoz.
ConditionalAttribute A C++ fordító nem támogatja. Az egyenértékű funkciók biztosításához be kell állítania a blokk metódusaihoz Trace#if defined(TRACE) ... #endif tartozó hívásokat, és hozzá kell adnia a /DTRACE beállítást a fordító parancssorához, vagy hozzá kell adnia #define TRACE a fájlhoz.
Tulajdonságok
| Name | Description |
|---|---|
| AutoFlush |
Lekérdezi vagy beállítja, hogy minden Flush() írás után be kell-e Listeners hívni. |
| CorrelationManager |
Lekéri a nyomkövetés szálának korrelációs kezelőjét. |
| IndentLevel |
Lekéri vagy beállítja a behúzási szintet. |
| IndentSize |
Lekéri vagy beállítja a behúzásban lévő szóközök számát. |
| Listeners |
Lekéri a nyomkövetési kimenetet figyelő figyelők gyűjteményét. |
| UseGlobalLock |
Lekéri vagy beállít egy értéket, amely jelzi, hogy a globális zárolást használni kell-e. |
Metódusok
| Name | Description |
|---|---|
| Assert(Boolean, String, String) |
Feltétel ellenőrzése; ha a feltétel az |
| Assert(Boolean, String) |
Feltétel ellenőrzése; ha a feltétel az |
| Assert(Boolean) |
Feltétel ellenőrzése; ha a feltétel az |
| Close() |
Kiüríti a kimeneti puffert, majd bezárja a Listeners. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Fail(String, String) |
Hibaüzenetet és részletes hibaüzenetet küld. |
| Fail(String) |
A megadott hibaüzenetet küldi ki. |
| Flush() |
Kiüríti a kimeneti puffert, és a pufferelt adatokat a Listeners. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| Indent() |
Az áramot IndentLevel egyenként növeli. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| Refresh() |
Frissíti a nyomkövetési konfiguráció adatait. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| TraceError(String, Object[]) |
Hibaüzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott objektumtömb és formázási információk használatával. |
| TraceError(String) |
Hibaüzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott üzenet használatával. |
| TraceInformation(String, Object[]) |
Tájékoztató üzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott objektumtömb és formázási információk használatával. |
| TraceInformation(String) |
Tájékoztató üzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott üzenet használatával. |
| TraceWarning(String, Object[]) |
Figyelmeztető üzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott objektumtömb és formázási információk használatával. |
| TraceWarning(String) |
Figyelmeztető üzenetet ír a gyűjtemény nyomkövetési figyelőinek a Listeners megadott üzenet használatával. |
| Unindent() |
Az áramot IndentLevel egyenként csökkenti. |
| Write(Object, String) |
Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek. |
| Write(Object) |
Az objektum ToString() metódusának értékét a gyűjtemény nyomkövetési figyelőinek Listeners írja. |
| Write(String, String) |
Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners . |
| Write(String) |
Üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners . |
| WriteIf(Boolean, Object, String) |
Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel . |
| WriteIf(Boolean, Object) |
Az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel . |
| WriteIf(Boolean, String, String) |
Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy feltétel teljesül |
| WriteIf(Boolean, String) |
Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek |
| WriteLine(Object, String) |
Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek. |
| WriteLine(Object) |
Az objektum ToString() metódusának értékét a gyűjtemény nyomkövetési figyelőinek Listeners írja. |
| WriteLine(String, String) |
Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners . |
| WriteLine(String) |
Üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners . |
| WriteLineIf(Boolean, Object, String) |
Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel . |
| WriteLineIf(Boolean, Object) |
Az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel . |
| WriteLineIf(Boolean, String, String) |
Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy feltétel teljesül |
| WriteLineIf(Boolean, String) |
Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek |
esemény
| Name | Description |
|---|---|
| Refreshing |
Akkor fordul elő, ha frissíteni kell a TraceSource konfigurációt. |
A következőre érvényes:
Szálbiztonság
Ez a típus szálbiztos.