Condividi tramite


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à

  1. Fare clic con il pulsante destro del mouse sul nodo progetto in Esplora soluzioni.

  2. 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

    SuggerimentoSuggerimento

    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

    NotaNota

    È 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

  1. Eliminare l'istruzione del compilatore dal codice sorgente.

    - oppure -

  2. Impostare come commento l'istruzione del compilatore.

    NotaNota

    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

Opzioni di traccia

Listener di traccia

Altre risorse

Traccia e strumentazione di applicazioni