Procedura: compilare in modo condizionale con traccia e debug
Quando si sottopone a debug l'applicazione durante la fase di sviluppo, sia l'output di tracciatura che l'output di debug vengono inviati alla finestra di output in Visual Studio. Tuttavia, per includere funzionalità di tracciatura in un'applicazione distribuita, è necessario compilare le applicazioni instrumentate con l'istruzione del compilatore TRACE attivata. In questo modo è possibile tracciare il codice da compilare nella versione di rilascio dell'applicazione. Se non si attiva l'istruzione TRACE, tutto il codice di tracciatura verrà ignorato durante la compilazione e non sarà incluso nel codice eseguibile da distribuire.
Sia i metodi di debug che di tracciatura sono dotati di attributi condizionali associati. Se, ad esempio, l'attributo condizionale per la tracciatura è true, tutte le istruzioni di traccia verranno incluse all'interno di un assembly, cioè un file con estensione EXE o DLL compilato. Se l'attributo condizionale Trace è false, le istruzioni di traccia non verranno incluse.
In una build è possibile attivare uno degli attributi condizionali Trace o Debug, entrambi gli attributi o nessuno. Esistono quindi quattro tipi di build: Debug, Trace, entrambi o nessuno. Alcune build di rilascio per la distribuzione della produzione non contengono alcun attributo. La maggior parte delle build di debug li contiene entrambi.
È possibile specificare le impostazioni del compilatore per l'applicazione in diversi modi:
Le pagine delle proprietà
La riga di comando
#CONST (per Visual Basic) e #define (per C#)
Per modificare le impostazioni di compilazione dalla finestra di dialogo delle pagine delle proprietà
Fare clic con il pulsante destro del mouse sul nodo progetto in Esplora soluzioni.
Scegliere Proprietà dal menu di scelta rapida.
In Visual Basic fare clic sulla scheda Compila nel riquadro sinistro della pagina delle proprietà, quindi fare clic sul pulsante Opzioni di compilazione avanzate per visualizzare la finestra di dialogo Impostazioni del compilatore avanzate. Selezionare le caselle di controllo per le impostazioni del compilatore che si desidera attivare. Deselezionare le caselle di controllo per le impostazioni che si desidera disabilitare.
In C# fare clic sulla scheda Compila nel riquadro sinistro della pagina delle proprietà, quindi selezionare le caselle di controllo per le impostazioni del compilatore che si desidera attivare. Deselezionare le caselle di controllo per le impostazioni che si desidera disabilitare.
Per compilare il codice instrumentato utilizzando la riga di comando:
Impostare un'opzione del compilatore condizionale sulla riga di comando. Il compilatore includerà il codice di traccia o di debug nell'eseguibile.
Ad esempio, l'istruzione del compilatore che segue, immessa sulla riga di comando, includerà il codice di tracciatura in un eseguibile compilato:
Per Visual Basic: vbc /r:System.dll /d:TRACE=TRUE /d:DEBUG=FALSE MyApplication.vb
Per C#: csc /r:System.dll /d:TRACE /d:DEBUG=FALSE MyApplication.cs
Suggerimento Per compilare più file dell'applicazione, lasciare uno spazio vuoto tra i nomi dei file, ad esempio: MyApplication1.vb MyApplication2.vb MyApplication3.vb o MyApplication1.cs MyApplication2.cs MyApplication3.cs.
Il significato delle istruzioni di compilazione condizionale utilizzate nell'esempio precedente è riportato di seguito:
Direttiva
Significato
vbc
Compilatore Visual Basic
csc
Compilatore C#
/r:
Riferimenti a un assembly esterno (EXE o DLL)
/d:
Definizione di un simbolo di compilazione condizionale
Nota È necessario scrivere TRACE o DEBUG con le lettere maiuscole.Per ulteriori informazioni sui comandi di compilazione condizionale, immettere vbc /? (per Visual Basic) o csc /? (per C#) al prompt dei comandi.Per ulteriori informazioni, vedere Generazione dalla riga di comando (C#) o Utilizzo del compilatore dalla riga di comando (Visual Basic).
Per eseguire la compilazione condizionale tramite #CONST o #define
Digitare l'istruzione adatta per il linguaggio di programmazione utilizzato all'inizio del file di codice sorgente.
Linguaggio
Istruzione
Risultato
Visual Basic
#CONST TRACE = true
Attivazione tracciatura
#CONST TRACE = false
Disabilitazione tracciatura
#CONST DEBUG = true
Attivazione debug
#CONST DEBUG = false
Disabilitazione debug
C#
#define TRACE
Attivazione tracciatura
#undef TRACE
Disabilitazione tracciatura
#define DEBUG
Attivazione debug
#undef DEBUG
Disabilitazione debug
Per disabilitare la tracciatura o il debug
Eliminare l'istruzione del compilatore dal codice sorgente.
- oppure -
Impostare come commento l'istruzione del compilatore.
Nota Al momento di avviare la compilazione è possibile scegliere Compila dal menu Compila o utilizzare il metodo della riga di comando senza digitare d: per definire i simboli di compilazione condizionale.
Vedere anche
Attività
Procedura: configurare opzioni di traccia
Procedura: aggiungere istruzioni di traccia al codice dell'applicazione
Procedura: impostare le variabili di ambiente
How to: Invoke the Command-Line Compiler
Concetti
Introduzione alla strumentazione e alla traccia