Questa documentazione è stata archiviata e non viene gestita.

Classe Trace

Fornisce un insieme di metodi e di proprietà che consentono di analizzare l'esecuzione del codice. La classe non può essere ereditata.

Spazio dei nomi: System.Diagnostics
Assembly: System (in system.dll)

public sealed class Trace
public final class Trace
public final class Trace

È possibile utilizzare le proprietà e i metodi nella classe Trace per dotare di strumenti le build di rilascio. Gli strumenti consentono di monitorare il funzionamento dell'applicazione in esecuzione in situazioni reali. L'analisi consente di isolare i problemi e di correggerli senza alcun impatto sul sistema in esecuzione.

NotaNota

Per attivare l'analisi in C#, aggiungere il flag /d:TRACE alla riga di comando del compilatore quando si compila il codice oppure aggiungere #define TRACE all'inizio del file. In Visual Basic, aggiungere il flag /d:TRACE=True alla riga di comando del compilatore. Per fornire una funzione equivalente in C++, racchiudere le chiamate ai metodi della classe in un blocco #ifdef TRACE... #endif. Questa è la sintassi specifica per il compilatore. Se si utilizza un compilatore diverso da quelli sopra specificati, è necessario fare riferimento alla documentazione relativa al compilatore per attivare la compilazione condizionale, a causa degli attributi della compilazione condizionale che si trovano nei metodi della classe Trace.

Nei progetti Visual Studio 2005, la classe Trace è attivata per impostazione predefinita. Di conseguenza, il codice viene generato per tutti i metodi Trace sia nelle build di rilascio che nelle build di debug. Questa operazione consente all'utente finale di attivare l'analisi per poter identificare il problema senza dover ricompilare il programma. Al contrario, per impostazione predefinita Debug è disattivato nelle build di rilascio, per cui per i metodi Debug non viene generato nessun codice eseguibile. Per disattivare la classe Trace, vedere la documentazione relativa a Visual Studio 2005.

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 analisi. È 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 analisi.

È possibile personalizzare la destinazione dell'output di analisi aggiungendo istanze di TraceListener o rimuovendole dall'insieme Listeners. Per impostazione predefinita, l'output di analisi viene emesso utilizzando la classe DefaultTraceListener.

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>

Nota sulla piattaforma Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows CE: In .NET Compact Framework non sono supportate le funzioni di analisi che utilizzano un file di configurazione.

Nell'esempio che segue viene utilizzato Trace per indicare l'inizio e la fine dell'esecuzione di un programma. Vengono inoltre utilizzati i metodi Indent e Unindent per distinguere l'output di analisi.

static int Main(string[] args)
{
   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();
   return 0;
}


System.Object
  System.Diagnostics.Trace

Questo tipo è thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Mostra: