Condividi tramite


/Z7, /Zi, /ZI (Formato informazioni di debug)

Specifica il tipo delle informazioni di debug create per il programma e indica se tali informazioni vengono mantenute in file oggetto con estensione obj o in un database di programma (PDB).

/Z{7|i|I}

Note

Le opzioni sono descritte nella tabella riportata di seguito.

  • None
    Non produce informazioni di debug, pertanto la compilazione è più veloce.

  • /Z7
    Genera un file con estensione obj contenente informazioni di debug complete sui simboli da utilizzare con il debugger. Le informazioni sul debug simbolico includono i nomi e i tipi di variabili, nonché le funzioni e i numeri di riga. Non viene generato alcun file pdb.

    Per i distributori di librerie di terze parti l'assenza di un file pdb rappresenta un vantaggio. Tuttavia, i file obj per le intestazioni precompilate sono necessari durante la fase di collegamento e per il debug. Se nei file oggetto con estensione pch sono presenti solo informazioni sui tipi e nessun codice, sarà inoltre necessario eseguire la compilazione con /Yl (Inserisce il riferimento PCH per la libreria di debug).

  • /Zi
    Produce un database di programma (PDB) contenente le informazioni sul tipo e le informazioni sul debug simbolico da utilizzare con il debugger. Le informazioni sul debug simbolico includono i nomi e i tipi di variabili, nonché le funzioni e i numeri di riga.

    /Zi non influisce sulle ottimizzazioni. Tuttavia, /Zi implica /debug. Per ulteriori informazioni, vedere /DEBUG (Genera informazioni di debug).

    Le informazioni sui tipi vengono inserite nel file pdb, anziché nel file obj.

    È possibile utilizzare l'opzione /Gm (Attiva ricompilazione minima) con /Zi, mentre /Gm non è disponibile durante la compilazione con /Z7.

    Durante la compilazione con /Zi e /clr, l'attributo DebuggableAttribute non verrà inserito nei metadati dell'assembly. Per inserirlo, è necessario specificarlo nel codice sorgente. Questo attributo potrà avere effetto sulle prestazioni di runtime dell'applicazione. Per ulteriori informazioni sull'influenza dell'attributo Debuggable sulle prestazioni e su come modificare tale impatto, vedere Semplificazione del debug di un'immagine.

  • /ZI
    Produce un database di programma, come descritto in precedenza, in un formato che supporta la funzionalità Modifica e continuazione. Se si desidera utilizzare il debug di Modifica e continuazione, è necessario utilizzare questa opzione. Dal momento che la maggior parte delle ottimizzazioni non è compatibile con la funzionalità Modifica e continuazione, l'utilizzo di /ZI disabilita qualsiasi istruzione #pragma optimize all'interno del codice.

    /ZI determina l'utilizzo di /Gy (Attiva collegamento a livello di funzione) e /FC (Percorso completo del file di codice sorgente nella diagnostica) nella compilazione.

    /ZI non è compatibile con /clr (Compilazione Common Language Runtime).

    Nota

    /ZI è disponibile solo nel compilatore per piattaforma x86, non nei compilatori per x64 o i processori ARM.

Il compilatore assegna al database di programma il nome project.pdb. Se si compila un file senza progetto, il compilatore crea un database denominato VCx0.pdb., dove x è il numero di versione principale di Visual C++ in uso. Il compilatore incorpora il nome del file PDB in ogni file obj creato utilizzando questa opzione, puntando il debugger alla posizione delle informazioni sui simboli e sul numero di riga. L'utilizzo di questa opzione fa sì che i file obj siano più piccoli, in quanto le informazioni di debug vengono archiviate nel file pdb anziché nei file obj.

Se si crea una libreria da oggetti compilati utilizzando questa opzione, il file pdb associato deve essere disponibile quando la libreria viene collegata a un programma. In questo modo, se si distribuisce la libreria, è necessario distribuire il file PDB.

Per creare una libreria che contiene informazioni di debug senza utilizzare file pdb, è necessario selezionare l'opzione Compatibile C 7.0 (/Z7) del compilatore. Se si utilizzano le opzioni delle intestazioni precompilate, le informazioni di debug sia per l'intestazione precompilata che per il resto del codice sorgente verranno inserite nel file PDB. L'opzione /Yd viene ignorata quando si specifica l'opzione Database di programma.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.

  2. Fare clic sulla cartella C/C++.

  3. Fare clic sulla pagina delle proprietà Generale.

  4. Modificare la proprietà Formato informazioni di debug.

Per impostare l'opzione del compilatore a livello di codice

Vedere anche

Riferimenti

Opzioni del compilatore

Impostazione delle opzioni del compilatore