Questo argomento non è stato ancora valutato - Valuta questo argomento

Compilazione condizionale con analisi e debug

Visual Studio .NET 2003

Mentre si sottopone a debug l'applicazione, durante la fase di sviluppo, sia l'output di analisi che l'output di debug vengono inviati alla finestra di output in Visual Studio. Tuttavia, per includere funzionalità di analisi in un'applicazione distribuita, è necessario compilare le applicazioni sottoposte a strumentazione con l'istruzione del compilatore TRACE attivata. In questo modo è possibile analizzare il codice da compilare nella versione di rilascio dell'applicazione. Se non si attiva l'istruzione TRACE, tutto il codice di analisi verrà ignorato durante la compilazione e non sarà incluso nel codice eseguibile da distribuire.

Sia i metodi di debug che di analisi sono dotati di attributi condizionali associati. Se, ad esempio, l'attributo condizionale per l'analisi è true, tutte le istruzioni di analisi sono incluse all'interno di un assembly, cioè di un file con estensione EXE o DLL compilato. Se l'attributo condizionale Trace è false, le istruzioni di analisi 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.
  3. Nella finestra di dialogo Pagina delle proprietà visualizzata fare clic sulla scheda Proprietà di configurazione nel riquadro sinistro e scegliere Genera.
  4. Selezionare le impostazioni del compilatore desiderate.
    • In Visual Basic 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 disattivare.
    • In C# nel campo Costanti di compilazione condizionale digitare il nome delle impostazioni che si desidera attivare.
      Nota per Visual C#   Per attivare sia Debug che Trace, digitare DEBUG;TRACE o TRACE;DEBUG. Eliminare il nome delle impostazioni che si desidera disattivare. C# distingue tra maiuscole e minuscole e i nomi delle impostazioni devono essere scritti con lettere maiuscole.

Per compilare il codice sottoposto a strumentazione utilizzando la riga di comando:

  • Impostare un'opzione del compilatore condizionale nella riga di comando. Il compilatore includerà il codice di analisi o di debug nell'eseguibile.

    L'istruzione del compilatore che segue, inserita nella riga di comando includerà, ad esempio, il codice di analisi 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ù di un 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 analisi
      #CONST TRACE = false Disattivazione analisi
      #CONST DEBUG = true Attivazione debug
      #CONST DEBUG = false Disattivazione debug
    C# #define TRACE Attivazione analisi
      #undefine TRACE Disattivazione analisi
      #define DEBUG Attivazione debug
      #undefine DEBUG Disattivazione debug

Per disattivare l'analisi o il debug

  • Eliminare l'istruzione del compilatore dal codice sorgente.

    In alternativa

  • Impostare come commento l'istruzione del compilatore.
    Nota   Al momento della compilazione è possibile scegliere Genera dal menu Genera o utilizzare il metodo della riga di comando ma senza digitare d: per definire i simboli di compilazione condizionale.

Vedere anche

Introduzione alla strumentazione e all'analisi | Analisi e strumentazione di applicazioni in Visual Basic e Visual C# | Configurazione delle opzioni di analisi | Opzioni di analisi | Listener di analisi | Aggiunta di istruzioni di analisi al codice dell'applicazione | Generazione dalla riga di comando | Utilizzo del compilatore dalla riga di comando

Il documento è risultato utile?
(1500 caratteri rimanenti)