Trace Classe

Definizione

Viene fornita una serie di metodi e proprietà per la tracciatura dell'esecuzione del codice. La classe non può essere ereditata.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Ereditarietà
Trace

Esempio

Nell'esempio seguente viene Trace usato per indicare l'inizio e la fine dell'esecuzione di un programma. Nell'esempio vengono usati anche i Trace.Indent metodi e Trace.Unindent per distinguere l'output di traccia. Per un esempio più completo dell'uso di Trace, vedere Procedura: Aggiungere istruzioni di traccia al codice dell'applicazione.

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

Commenti

È possibile usare le proprietà e i metodi nella classe per instrumentare le build di Trace rilascio. La strumentazione consente di monitorare l'integrità dell'applicazione in esecuzione in impostazioni reali. La traccia consente di isolare i problemi e risolverli senza disturbare un sistema in esecuzione.

Questa classe fornisce metodi per visualizzare una Assert finestra di dialogo e per generare un'asserzione che sempre Fail. Questa classe fornisce metodi di scrittura nelle varianti seguenti:

Le BooleanSwitch classi e TraceSwitch forniscono mezzi per controllare in modo dinamico l'output di traccia. Nelle app di .NET Framework è possibile modificare i valori di queste opzioni senza ricompilare l'applicazione. Per informazioni sull'uso del file di configurazione per impostare un commutatore in un'app .NET Framework, vedere la classe Switch e Come: Creare, Inizializzare e Configurare opzioni di traccia.

È possibile personalizzare la destinazione dell'output di traccia aggiungendo TraceListener o rimuovendo istanze dalla Listeners raccolta. La Listeners raccolta è condivisa sia dalle classi che dalle DebugTrace classi. L'aggiunta di un listener di traccia a una delle due classi aggiunge il listener a entrambi. Per impostazione predefinita, l'output di traccia viene generato usando la DefaultTraceListener classe .

Note

L'aggiunta di un listener di traccia alla raccolta può causare la generazione di un'eccezione durante la Listeners traccia, se non è disponibile una risorsa usata dal listener di traccia. Le condizioni e l'eccezione generata dipendono dal listener di traccia e non possono essere enumerate in questo argomento. Può essere utile inserire chiamate ai Trace metodi in try/catch blocchi per rilevare e gestire eventuali eccezioni dai listener di traccia.

Note

Se si aggiungono listener di traccia a codice parzialmente attendibile, si otterrà un'eccezione SecurityException , perché l'aggiunta di listener di traccia richiede UnmanagedCode l'autorizzazione. Per tracciare codice parzialmente attendibile in esecuzione in una sandbox in Visual Studio, non aggiungere listener di traccia. Visualizzare invece i Trace messaggi e Debug nella finestra Output .

La Trace classe fornisce proprietà per ottenere o impostare il livello di Indent e IndentSizee e se dopo AutoFlush ogni scrittura.

Nelle app di .NET Framework è possibile impostare il AutoFlush e IndentSize per Trace modificando il file di configurazione corrispondente al nome dell'applicazione. Il file di configurazione deve essere formattato come nell'esempio seguente:

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

L'attributo ConditionalAttribute viene applicato ai metodi di Trace. I compilatori che supportano ignorano ConditionalAttribute le chiamate a questi metodi, a meno che non TRACE sia definito come simbolo di compilazione condizionale. Fare riferimento alla documentazione di un compilatore per determinare se ConditionalAttribute è supportato e la sintassi per la definizione di un simbolo di compilazione condizionale.

Note

Nei progetti Visual Studio, per impostazione predefinita, il simbolo di compilazione condizionale DEBUG per le compilazioni di debug e il simbolo di TRACE è definito sia per le compilazioni di debug che per le build di rilascio.

Per definire il TRACE simbolo di compilazione condizionale in C#, aggiungere l'opzione /d:TRACE alla riga di comando del compilatore quando si compila il codice usando una riga di comando o aggiungere #define TRACE all'inizio del file. In Visual Basic aggiungere l'opzione /d:TRACE=True alla riga di comando del compilatore o aggiungere #Const TRACE=True al file.

ConditionalAttribute non è supportato dal compilatore C++. Per fornire funzionalità equivalenti, è necessario racchiudere le chiamate ai metodi di in un #if defined(TRACE) ... #endif blocco e aggiungere l'opzione /DTRACE alla riga di Trace comando del compilatore o aggiungere #define TRACE al file.

Proprietà

Nome Descrizione
AutoFlush

Ottiene o imposta un valore che indica se Flush() deve essere chiamato su Listeners dopo ogni scrittura.

CorrelationManager

Ottiene il gestore di correlazione per il thread per questa traccia.

IndentLevel

Ottiene o imposta il livello di rientro.

IndentSize

Ottiene o imposta il numero di spazi in un rientro.

Listeners

Ottiene la raccolta di listener che monitora l'output di traccia.

UseGlobalLock

Ottiene o imposta un valore che indica se deve essere utilizzato il blocco globale.

Metodi

Nome Descrizione
Assert(Boolean, String, String)

Verifica la presenza di una condizione; se la condizione è false, restituisce due messaggi specificati e visualizza una finestra di messaggio che mostra lo stack di chiamate.

Assert(Boolean, String)

Verifica la presenza di una condizione; se la condizione è false, restituisce un messaggio specificato e visualizza una finestra di messaggio che mostra lo stack di chiamate.

Assert(Boolean)

Verifica la presenza di una condizione; se la condizione è false, visualizza una finestra di messaggio che mostra lo stack di chiamate.

Close()

Scarica il buffer di output e quindi chiude .Listeners

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Fail(String, String)

Genera un messaggio di errore e un messaggio di errore dettagliato.

Fail(String)

Genera il messaggio di errore specificato.

Flush()

Scarica il buffer di output e fa sì che i dati memorizzati nel buffer vengano scritti in Listeners.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Indent()

Aumenta l'oggetto corrente IndentLevel di uno.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Refresh()

Aggiorna i dati di configurazione della traccia.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TraceError(String, Object[])

Scrive un messaggio di errore nei listener di traccia nella Listeners raccolta utilizzando la matrice specificata di oggetti e informazioni di formattazione.

TraceError(String)

Scrive un messaggio di errore nei listener di traccia nella Listeners raccolta utilizzando il messaggio specificato.

TraceInformation(String, Object[])

Scrive un messaggio informativo nei listener di traccia nella Listeners raccolta utilizzando la matrice specificata di oggetti e informazioni di formattazione.

TraceInformation(String)

Scrive un messaggio informativo nei listener di traccia nella Listeners raccolta utilizzando il messaggio specificato.

TraceWarning(String, Object[])

Scrive un messaggio di avviso nei listener di traccia nella Listeners raccolta utilizzando la matrice specificata di oggetti e informazioni di formattazione.

TraceWarning(String)

Scrive un messaggio di avviso nei listener di traccia nella Listeners raccolta utilizzando il messaggio specificato.

Unindent()

Riduce l'oggetto corrente IndentLevel di uno.

Write(Object, String)

Scrive un nome di categoria e il valore del metodo dell'oggetto ToString() nei listener di traccia dell'insieme Listeners .

Write(Object)

Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners .

Write(String, String)

Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta.

Write(String)

Scrive un messaggio nei listener di traccia nella Listeners raccolta.

WriteIf(Boolean, Object, String)

Scrive un nome di categoria e il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è true.

WriteIf(Boolean, Object)

Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è true.

WriteIf(Boolean, String, String)

Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta se una condizione è true.

WriteIf(Boolean, String)

Scrive un messaggio nei listener di traccia nella Listeners raccolta se una condizione è true.

WriteLine(Object, String)

Scrive un nome di categoria e il valore del metodo dell'oggetto ToString() nei listener di traccia dell'insieme Listeners .

WriteLine(Object)

Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners .

WriteLine(String, String)

Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta.

WriteLine(String)

Scrive un messaggio nei listener di traccia nella Listeners raccolta.

WriteLineIf(Boolean, Object, String)

Scrive un nome di categoria e il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è true.

WriteLineIf(Boolean, Object)

Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è true.

WriteLineIf(Boolean, String, String)

Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta se una condizione è true.

WriteLineIf(Boolean, String)

Scrive un messaggio nei listener di traccia nella Listeners raccolta se una condizione è true.

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche