Trace Klas

Definitie

Biedt een set methoden en eigenschappen waarmee u de uitvoering van uw code kunt traceren. Deze klasse kan niet worden overgenomen.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Overname
Trace

Voorbeelden

In het volgende voorbeeld wordt het Trace begin en einde van de uitvoering van een programma aangegeven. In het voorbeeld worden ook de Trace.Indent en Trace.Unindent methoden gebruikt om de traceringsuitvoer te onderscheiden. Zie Trace voor een volledig voorbeeld van het gebruik van.

// 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

Opmerkingen

U kunt de eigenschappen en methoden in de Trace klasse gebruiken om release-builds te instrumenteren. Met instrumentatie kunt u de status van uw toepassing bewaken die wordt uitgevoerd in realtime-instellingen. Tracering helpt u problemen te isoleren en op te lossen zonder een actief systeem te storen.

Deze klasse biedt methoden om een Assert dialoogvenster weer te geven en om een verklaring te verzenden die altijd Failzal worden verzonden. Deze klasse biedt schrijfmethoden in de volgende variaties:

De BooleanSwitch en TraceSwitch klassen bieden middelen om de traceringsuitvoer dynamisch te beheren. In .NET Framework-apps kunt u de waarden van deze switches wijzigen zonder de toepassing opnieuw te compileren. Zie de klasse Switch en Hoe to: Trace switches maken, initialiseren en configureren voor informatie over het gebruik van het configuratiebestand om een switch in te stellen in een .NET Framework-app.

U kunt het doel van de traceringsuitvoer aanpassen door exemplaren toe te voegen TraceListener aan of te verwijderen uit de Listeners verzameling. De Listeners verzameling wordt gedeeld door zowel de Debug klassen als de Trace klassen. Als u een traceringslistener aan beide klassen toevoegt, wordt de listener aan beide toegevoegd. Standaard wordt traceringsuitvoer verzonden met behulp van de DefaultTraceListener klasse.

Note

Het toevoegen van een traceerlistener aan de Listeners verzameling kan ertoe leiden dat er een uitzondering wordt gegenereerd tijdens het traceren, als een resource die door de traceerlister wordt gebruikt, niet beschikbaar is. De voorwaarden en de uitzondering die is gegenereerd, zijn afhankelijk van de traceringslistener en kunnen niet worden opgesomd in dit onderwerp. Het kan handig zijn om aanroepen naar de Trace methoden in try/catch blokken te plaatsen om eventuele uitzonderingen van traceerlisteners te detecteren en te verwerken.

Note

Als u traceringslisteners toevoegt aan gedeeltelijk vertrouwde code, krijgt u een SecurityException uitzondering, omdat het toevoegen van tracelisteners een machtiging vereist UnmanagedCode . Als u gedeeltelijk vertrouwde code wilt traceren die wordt uitgevoerd in een sandbox in Visual Studio, voegt u geen traceringslisteners toe. Bekijk in plaats daarvan de Trace en Debug berichten in het venster Uitvoer .

De Trace klasse biedt eigenschappen voor het ophalen of instellen van het niveau van Indent en de IndentSize, en of dat moet AutoFlush na elke schrijfbewerking.

In .NET Framework-apps kunt u de AutoFlush en IndentSize voor Trace instellen door het configuratiebestand te bewerken dat overeenkomt met de naam van uw toepassing. Het configuratiebestand moet worden opgemaakt zoals in het volgende voorbeeld:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="3" />
  </system.diagnostics>
</configuration>

Het ConditionalAttribute kenmerk wordt toegepast op de methoden van Trace. Compilers die ondersteuning bieden ConditionalAttribute voor het negeren van aanroepen naar deze methoden, tenzij TRACE deze zijn gedefinieerd als een symbool voor voorwaardelijke compilatie. Raadpleeg de documentatie van een compiler om te bepalen of ConditionalAttribute deze wordt ondersteund en de syntaxis voor het definiëren van een symbool voor voorwaardelijke compilatie.

Note

In Visual Studio projecten wordt standaard het symbool DEBUG voorwaardelijke compilatie gedefinieerd voor builds voor foutopsporing en wordt het symbool TRACE gedefinieerd voor zowel foutopsporing als release-builds.

Als u het TRACE symbool voor voorwaardelijke compilatie in C# wilt definiëren, voegt u de /d:TRACE optie toe aan de opdrachtregel van de compiler wanneer u uw code compileert met behulp van een opdrachtregel of voegt u deze toe #define TRACE aan het begin van het bestand. Voeg in Visual Basic de optie /d:TRACE=True toe aan de opdrachtregel van de compiler of voeg #Const TRACE=True toe aan het bestand.

ConditionalAttribute wordt niet ondersteund door de C++-compiler. Als u gelijkwaardige functionaliteit wilt bieden, moet u aanroepen insluiten naar de methoden van Trace een #if defined(TRACE) ... #endif blok en de /DTRACE optie toevoegen aan de opdrachtregel van de compiler of toevoegen #define TRACE aan het bestand.

Eigenschappen

Name Description
AutoFlush

Hiermee haalt u op of stelt u in of Flush() moet worden aangeroepen na Listeners elke schrijfbewerking.

CorrelationManager

Hiermee haalt u de correlatiebeheerder voor de thread voor deze tracering op.

IndentLevel

Hiermee haalt u het inspringniveau op of stelt u het inspringniveau in.

IndentSize

Hiermee kunt u het aantal spaties in een inspringing ophalen of instellen.

Listeners

Hiermee haalt u de verzameling listeners op die de traceringsuitvoer bewaakt.

UseGlobalLock

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de globale vergrendeling moet worden gebruikt.

Methoden

Name Description
Assert(Boolean, String, String)

Controleert op een voorwaarde; als de voorwaarde is false, voert u twee opgegeven berichten uit en geeft u een berichtvak weer waarin de aanroepstack wordt weergegeven.

Assert(Boolean, String)

Controleert op een voorwaarde; als de voorwaarde is false, voert u een opgegeven bericht uit en geeft u een berichtvak weer waarin de aanroepstack wordt weergegeven.

Assert(Boolean)

Controleert op een voorwaarde; als de voorwaarde is false, geeft u een berichtvak weer waarin de aanroepstack wordt weergegeven.

Close()

Hiermee wordt de uitvoerbuffer leeggemaakt en vervolgens de Listeners.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Fail(String, String)

Verzendt een foutbericht en een gedetailleerd foutbericht.

Fail(String)

Hiermee wordt het opgegeven foutbericht verzonden.

Flush()

Maakt de uitvoerbuffer leeg en zorgt ervoor dat gebufferde gegevens naar de Listeners.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Indent()

Hiermee wordt de huidige met IndentLevel één verhoogd.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Refresh()

Hiermee worden de traceringsconfiguratiegegevens vernieuwd.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
TraceError(String, Object[])

Hiermee schrijft u een foutbericht naar de traceerlisteners in de Listeners verzameling met behulp van de opgegeven matrix met objecten en opmaakgegevens.

TraceError(String)

Hiermee schrijft u een foutbericht naar de traceerlisteners in de Listeners verzameling met behulp van het opgegeven bericht.

TraceInformation(String, Object[])

Hiermee schrijft u een informatief bericht naar de traceerlisteners in de Listeners verzameling met behulp van de opgegeven matrix met objecten en opmaakgegevens.

TraceInformation(String)

Hiermee schrijft u een informatief bericht naar de traceringslisteners in de Listeners verzameling met behulp van het opgegeven bericht.

TraceWarning(String, Object[])

Hiermee schrijft u een waarschuwingsbericht naar de traceerlisteners in de Listeners verzameling met behulp van de opgegeven matrix met objecten en opmaakgegevens.

TraceWarning(String)

Hiermee schrijft u een waarschuwingsbericht naar de traceerlisteners in de Listeners verzameling met behulp van het opgegeven bericht.

Unindent()

Hiermee wordt de huidige met IndentLevel één verkleind.

Write(Object, String)

Hiermee schrijft u een categorienaam en de waarde van de methode van het object ToString() naar de traceerlisteners in de Listeners verzameling.

Write(Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling.

Write(String, String)

Hiermee schrijft u een categorienaam en een bericht naar de traceringslisteners in de Listeners verzameling.

Write(String)

Hiermee schrijft u een bericht naar de traceerlisteners in de Listeners verzameling.

WriteIf(Boolean, Object, String)

Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, String, String)

Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, String)

Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

WriteLine(Object, String)

Hiermee schrijft u een categorienaam en de waarde van de methode van het object ToString() naar de traceerlisteners in de Listeners verzameling.

WriteLine(Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling.

WriteLine(String, String)

Hiermee schrijft u een categorienaam en -bericht naar de traceringslisteners in de Listeners verzameling.

WriteLine(String)

Hiermee schrijft u een bericht naar de traceerlisteners in de Listeners verzameling.

WriteLineIf(Boolean, Object, String)

Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteLineIf(Boolean, Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteLineIf(Boolean, String, String)

Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

WriteLineIf(Boolean, String)

Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

gebeurtenis

Name Description
Refreshing

Treedt op wanneer een TraceSource configuratie moet worden vernieuwd.

Van toepassing op

Veiligheid thread

Dit type is thread veilig.

Zie ook