Trace Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 è |
| Assert(Boolean, String) |
Verifica la presenza di una condizione; se la condizione è |
| Assert(Boolean) |
Verifica la presenza di una condizione; se la condizione è |
| 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 è |
| WriteIf(Boolean, Object) |
Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è |
| WriteIf(Boolean, String, String) |
Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta se una condizione è |
| WriteIf(Boolean, String) |
Scrive un messaggio nei listener di traccia nella Listeners raccolta se una condizione è |
| 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 è |
| WriteLineIf(Boolean, Object) |
Scrive il valore del metodo dell'oggetto nei listener di ToString() traccia dell'insieme Listeners se una condizione è |
| WriteLineIf(Boolean, String, String) |
Scrive un nome di categoria e un messaggio nei listener di traccia nella Listeners raccolta se una condizione è |
| WriteLineIf(Boolean, String) |
Scrive un messaggio nei listener di traccia nella Listeners raccolta se una condizione è |
Si applica a
Thread safety
Questo tipo è thread-safe.