Viene fornita una serie di metodi e proprietà per la tracciatura dell'esecuzione del codice. La classe non può essere ereditata.
System.Diagnostics.Trace
Spazio dei nomi: System.Diagnostics
Assembly: System (in System.dll)
Public NotInheritable Class Trace
public sealed class Trace
public ref class Trace sealed
[<Sealed>] type Trace = class end
Il tipo Trace espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
AutoFlush | Ottiene o imposta un valore che indica se chiamare Flush sulla classe 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 l'insieme di listener che esegue il monitoraggio dell'output di traccia. |
|
UseGlobalLock | Ottiene o imposta un valore che indica se deve essere utilizzato il blocco globale. |
| Nome | Descrizione | |
|---|---|---|
|
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, viene generato un messaggio specificato e viene visualizzata 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 | Svuota il buffer di output, quindi chiude l'insieme Listeners. |
|
Equals(Object) | Determina se l'oggetto Object specificato è uguale all'oggetto Object 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. |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
Flush | Svuota il buffer di output e determina la scrittura dei dati del buffer nell'insieme Listeners. |
|
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
Indent | Incrementa la proprietà IndentLevel corrente di uno. |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (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) | Scrive un messaggio di errore nei listener di traccia dell'insieme Listeners utilizzando il messaggio specificato. |
|
TraceError(String, Object[]) | Scrive un messaggio di errore nei listener di traccia dell'insieme Listeners utilizzando la matrice di oggetti e le informazioni di formattazione specificate. |
|
TraceInformation(String) | Scrive un messaggio informativo nei listener di traccia dell'insieme Listeners utilizzando il messaggio specificato. |
|
TraceInformation(String, Object[]) | Scrive un messaggio informativo nei listener di traccia dell'insieme Listeners utilizzando la matrice di oggetti e le informazioni di formattazione specificate. |
|
TraceWarning(String) | Scrive un messaggio di avviso nei listener di traccia dell'insieme Listeners utilizzando il messaggio specificato. |
|
TraceWarning(String, Object[]) | Scrive un messaggio di avviso nei listener di traccia dell'insieme Listeners utilizzando la matrice di oggetti e le informazioni di formattazione specificate. |
|
Unindent | Riduce la proprietà IndentLevel corrente di uno. |
|
Write(Object) | Scrive il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners. |
|
Write(String) | Scrive un messaggio nei listener di traccia dell'insieme Listeners. |
|
Write(Object, String) | Scrive il nome di una categoria e il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners. |
|
Write(String, String) | Scrive un nome di categoria e un messaggio nei listener di traccia dell'insieme Listeners. |
|
WriteIf(Boolean, Object) | Scrive il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners, se una condizione è true. |
|
WriteIf(Boolean, String) | Scrive un messaggio nei listener di traccia dell'insieme Listeners se una condizione è true. |
|
WriteIf(Boolean, Object, String) | Scrive il nome di una categoria e il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners se una condizione è true. |
|
WriteIf(Boolean, String, String) | Scrive un nome di categoria e un messaggio nei listener di traccia dell'insieme Listeners se una condizione è true. |
|
WriteLine(Object) | Scrive il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners. |
|
WriteLine(String) | Scrive un messaggio nei listener di traccia dell'insieme Listeners. |
|
WriteLine(Object, String) | Scrive il nome di una categoria e il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners. |
|
WriteLine(String, String) | Scrive un nome di categoria e un messaggio nei listener di traccia dell'insieme Listeners. |
|
WriteLineIf(Boolean, Object) | Scrive il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners, se una condizione è true. |
|
WriteLineIf(Boolean, String) | Scrive un messaggio nei listener di traccia dell'insieme Listeners se una condizione è true. |
|
WriteLineIf(Boolean, Object, String) | Scrive il nome di una categoria e il valore del metodo ToString dell'oggetto nei listener di traccia dell'insieme Listeners se una condizione è true. |
|
WriteLineIf(Boolean, String, String) | Scrive un nome di categoria e un messaggio nei listener di traccia dell'insieme Listeners se una condizione è true. |
È possibile utilizzare le proprietà e i metodi della classe Trace per instrumentare le build di rilascio. Gli strumenti consentono di monitorare il funzionamento dell'applicazione in esecuzione in situazioni reali. La tracciatura consente di isolare i problemi e di correggerli senza alcun impatto sul sistema in esecuzione.
Questa classe fornisce metodi che consentono di visualizzare una finestra di dialogo Assert e di generare un'asserzione il cui esito è sempre Fail. Questa classe fornisce metodi di scrittura nelle seguenti variazioni: Write, WriteLine, WriteIf e WriteLineIf.
Le classi BooleanSwitch e TraceSwitch consentono di controllare dinamicamente l'output di tracciatura. È possibile modificare i valori di queste opzioni senza ricompilare l'applicazione. Per informazioni sull'utilizzo del file di configurazione per impostare un'opzione, vedere la classe Switch e l'argomento Procedura: configurare opzioni di traccia.
È possibile personalizzare la destinazione dell'output di tracciatura aggiungendo istanze di TraceListener o rimuovendole dall'insieme Listeners. L'insieme Listeners è condiviso sia dalla classe Debug che dalla classe Trace; l'aggiunta di un listener di traccia a una delle due classi aggiunge il listener a entrambe. Per impostazione predefinita, l'output di traccia viene emesso utilizzando la classe DefaultTraceListener.
Nota
|
|---|
|
L'aggiunta di un listener di traccia all'insieme Listeners può causare la generazione di un'eccezione durante la traccia, se una risorsa utilizzata dal listener di traccia non è disponibile. Le condizioni e l'eccezione generate dipendono dal listener di traccia e non possono essere enumerate in questo argomento. Potrebbe essere utile effettuare chiamate ai metodi Trace in blocchi try/catch per rilevare e gestire qualsiasi eccezione dai listener di traccia. |
La classe Trace consente alle proprietà di ottenere o impostare il livello di Indent e di IndentSize ed eventualmente di eseguire AutoFlush dopo ogni operazione di scrittura.
Per impostare le proprietà AutoFlush e IndentSize per Trace, è possibile modificare il file di configurazione che corrisponde al nome dell'applicazione. Il file di configurazione deve essere formattato in modo analogo a quello illustrato nell'esempio seguente:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
L'attributo ConditionalAttribute viene applicato ai metodi della classe Trace. I compilatori che supportano l'attributo ConditionalAttribute ignorano le chiamate a questi metodi a meno che "TRACE" non sia definito come simbolo di compilazione condizionale. Fare riferimento alla documentazione di un compilatore per determinare se l'attributo ConditionalAttribute è supportato e verificare la sintassi per la definizione di un simbolo di compilazione condizionale.
Per definire il simbolo di compilazione condizionale "TRACE" in C# e J#, aggiungere l'opzione /d:TRACE alla riga di comando del compilatore durante la compilazione del codice oppure 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.
L'attributo ConditionalAttribute non è supportato dal compilatore C++. Per fornire la funzionalità equivalente, è necessario racchiudere le chiamate ai metodi della classe Trace in un blocco #if defined(TRACE) ... #endif e aggiungere l'opzione /DTRACE alla riga di comando del compilatore oppure aggiungere #define TRACE al file.
Per impostazione predefinita, in progetti Visual Studio 2005 il simbolo di compilazione condizionale "DEBUG" è definito per le build di debug, mentre il simbolo "TRACE" per le build di debug e di rilascio. Per informazioni sulla disabilitazione di questo comportamento, vedere la documentazione di Visual Studio 2005.
Nell'esempio che segue viene utilizzato Trace per indicare l'inizio e la fine dell'esecuzione di un programma. Vengono inoltre utilizzati i metodi Trace.Indent e Trace.Unindent per distinguere l'output di tracciatura. Per un esempio più completo dell'utilizzo di Trace, vedere Procedura: aggiungere istruzioni di traccia al codice dell'applicazione.
' Specify /d:TRACE=True when compiling. Imports System 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 'Main End Class
// 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 /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; }
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1-
SecurityPermission
per l'utilizzo di codice non gestito. Azione di sicurezza: Demand. Enumerazione associata: SecurityPermissionFlag.UnmanagedCode
Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Questo tipo è thread-safe.
Riferimenti
|
Data |
Cronologia |
Motivo |
|---|---|---|
|
Giugno 2010 |
È stato aggiunto un collegamento a un esempio completo della sezione Esempi. |
Commenti e suggerimenti dei clienti. |
Nota