Condividi tramite


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. L'esempio usa anche i Trace.Indent metodi e Trace.Unindent per distinguere l'output della traccia. Per un esempio più completo dell'uso di Trace, vedere Procedura: Aggiungere istruzioni di traccia al codice applicazione.

// Specify /DTRACE when compiling.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;

int main()
{
   #if defined(TRACE)
   Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Trace::AutoFlush = true;
   Trace::Indent();
   Trace::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(TRACE)
   Trace::WriteLine( "Exiting Main" );
   Trace::Unindent();
   #endif
   return 0;
}
// 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 Trace classe per instrumentare le build di versione. 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 verrà sempre Fail. Questa classe fornisce metodi di scrittura nelle varianti seguenti:

Le BooleanSwitch classi e TraceSwitch forniscono mezzi per controllare dinamicamente l'output della traccia. Nelle app .NET Framework è possibile modificare i valori di questi commutatori senza ricompilare l'applicazione. Per informazioni sull'uso del file di configurazione per impostare un commutatore in un'app .NET Framework, vedere la Switch classe e Procedura: Create, Inizializza e Configura commutatori di traccia.

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

Nota

L'aggiunta di un listener di traccia alla raccolta può causare la generazione di un'eccezione durante la Listeners traccia, se una risorsa usata dal listener di traccia non è disponibile. 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.

Nota

Se si aggiungono i listener di traccia al codice parzialmente attendibile, si otterrà un'eccezione SecurityException, perché l'aggiunta dei listener di traccia richiede l'autorizzazione UnmanagedCode. Per tracciare il codice parzialmente attendibile in esecuzione in una sandbox di Visual Studio, non aggiungere i 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 se dopo AutoFlush ogni scrittura.

Nelle app .NET Framework è possibile impostare e AutoFlushIndentSize per Trace modificando il file di configurazione corrispondente al nome dell'applicazione. Il file di configurazione deve essere formattato come l'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 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 definire un simbolo di compilazione condizionale.

Nota

Nei progetti di Visual Studio, per impostazione predefinita, il DEBUG simbolo di compilazione condizionale viene definito per le compilazioni di debug e il TRACE simbolo è definito per le compilazioni di debug e versione.

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à

AutoFlush

Ottiene o imposta un valore che indica se chiamare il metodo Flush() sulla proprietà Listeners dopo ogni operazione di scrittura.

CorrelationManager

Ottiene il gestore di correlazioni per il thread per la 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 esegue il monitoraggio dell'output di traccia.

UseGlobalLock

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

Metodi

Assert(Boolean)

Controlla una condizione. Se la condizione è false, viene visualizzata una finestra di messaggio contenente lo stack di chiamate.

Assert(Boolean, String)

Controlla una condizione. Se la condizione è false, genera un messaggio specificato e visualizza una finestra di messaggio contenente lo stack di chiamate.

Assert(Boolean, String, String)

Controlla una condizione. Se la condizione è false, vengono generati due messaggi specificati e viene visualizzata una finestra di messaggio contenente lo stack di chiamate.

Close()

Scarica il buffer di output, quindi chiude l'oggetto Listeners.

Equals(Object)

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

(Ereditato da Object)
Fail(String)

Genera il messaggio di errore specificato.

Fail(String, String)

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

Flush()

Svuota il buffer di output e determina la scrittura dei dati del buffer in Listeners.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Indent()

Incrementa la proprietà IndentLevel corrente di uno.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Refresh()

Aggiorna i dati configurazione di traccia.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TraceError(String)

Scrive un messaggio di errore nei listener di traccia della raccolta Listeners usando il messaggio specificato.

TraceError(String, Object[])

Scrive un messaggio di errore nei listener di traccia della raccolta Listeners usando la matrice di oggetti e le informazioni di formattazione specificate.

TraceInformation(String)

Scrive un messaggio informativo nei listener di traccia della raccolta Listeners usando il messaggio specificato.

TraceInformation(String, Object[])

Scrive un messaggio informativo nei listener di traccia della raccolta Listeners usando la matrice di oggetti e le informazioni di formattazione specificate.

TraceWarning(String)

Scrive un messaggio di avviso nei listener di traccia della raccolta Listeners usando il messaggio specificato.

TraceWarning(String, Object[])

Scrive un messaggio di avviso nei listener di traccia della raccolta Listeners usando la matrice di oggetti e le informazioni di formattazione specificate.

Unindent()

Riduce l'oggetto IndentLevel corrente di uno.

Write(Object)

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

Write(Object, String)

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

Write(String)

Scrive un messaggio nei listener di traccia della raccolta Listeners.

Write(String, String)

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

WriteIf(Boolean, Object)

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

WriteIf(Boolean, Object, String)

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

WriteIf(Boolean, String)

Scrive un messaggio ai listener di traccia della raccolta Listeners se una condizione è true.

WriteIf(Boolean, String, String)

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

WriteLine(Object)

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

WriteLine(Object, String)

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

WriteLine(String)

Scrive un messaggio nei listener di traccia della raccolta Listeners.

WriteLine(String, String)

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

WriteLineIf(Boolean, Object)

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

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, String)

Scrive un messaggio ai listener di traccia della raccolta Listeners se una condizione è true.

WriteLineIf(Boolean, String, String)

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

Eventi

Refreshing

Si verifica quando deve TraceSource essere aggiornato dalla configurazione.

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche