Trace Osztály

Definíció

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 false, két megadott üzenetet ad ki, és megjelenít egy üzenetmezőt, amely megjeleníti a hívásvermet.

Assert(Boolean, String)

Feltétel ellenőrzése; ha a feltétel az false, egy megadott üzenetet ad ki, és megjelenít egy üzenetmezőt, amely megjeleníti a hívás vermet.

Assert(Boolean)

Feltétel ellenőrzése; ha a feltétel az false, megjelenik egy üzenetmező, amely a hívás vermet jeleníti meg.

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 .true

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 .true

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 true.

WriteIf(Boolean, String)

Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek true.

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 .true

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 .true

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 true.

WriteLineIf(Boolean, String)

Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek true.

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.

Lásd még