/DEBUG (Genera informazioni di debug)

L'opzione /DEBUG del linker crea un file di informazioni di debug per l'eseguibile.

Sintassi

/DEBUG[:{FASTLINK||FULLNONE}]

Osservazioni:

L'opzione /DEBUG inserisce le informazioni di debug dai file di oggetto e libreria collegati in un file di database di programma (PDB). Aggiorna il file PDB durante le successive compilazioni del programma.

Un eseguibile (file EXE o DLL) creato per il debug contiene il nome e il percorso del PDB corrispondente. Il debugger legge il nome incorporato e usa il file PDB durante il debug del programma. Il linker usa il nome di base del programma e l'estensione .pdb per denominare il database del programma e incorpora il percorso in cui è stato creato. Per eseguire l'override di questa impostazione predefinita, impostare l'opzione /PDB e specificare un nome file diverso.

L'opzione /DEBUG:FASTLINK è disponibile in Visual Studio 2017 e versioni successive. Questa opzione genera un PDB limitato che indicizza le informazioni di debug nei file oggetto e nelle librerie usate per compilare il file eseguibile anziché eseguire una copia completa. È possibile usare questo PDB limitato solo per eseguire il debug dal computer in cui sono stati compilati i file binari e le relative librerie. Se si distribuisce il file binario altrove, è possibile eseguirne il debug in remoto dal computer di compilazione, ma non direttamente nel computer di test. Dal momento che Visual Studio 2019, /DEBUG:FULL i tempi di collegamento sono stati migliorati in modo significativo e /DEBUG:FASTLINK non sono sempre più veloci di /DEBUG:FULL. Poiché /DEBUG:FASTLINK non offre più miglioramenti in fase di compilazione di grandi dimensioni e comporta un'esperienza di debug più lenta rispetto /DEBUG:FULLa , questa opzione non è più consigliata.

Un /DEBUG:FASTLINK PDB può essere convertito in un PDB completo che è possibile distribuire in un computer di test per il debug locale. In Visual Studio usare la finestra di dialogo Pagine delle proprietà come descritto di seguito per creare un PDB completo per il progetto o la soluzione. In un prompt dei comandi per sviluppatori è possibile usare lo mspdbcmf.exe strumento per creare un PDB completo.

L'opzione /DEBUG:FULL sposta tutte le informazioni sui simboli privati dai singoli prodotti di compilazione (file oggetto e librerie) in un singolo PDB e può essere la parte più lunga del collegamento. Tuttavia, il file PDB completo può essere usato per eseguire il debug dell'eseguibile quando non sono disponibili altri prodotti di compilazione, ad esempio quando l'eseguibile viene distribuito.

L'opzione /DEBUG:NONE non genera un PDB.

Specificare /DEBUG senza argomenti aggiuntivi equivale a specificare /DEBUG:FULL.

L'opzione /Z7 del compilatore (compatibile con C7) fa sì che il compilatore lasci le informazioni di debug nei file OBJ (Object). È anche possibile usare l'opzione del /Zi compilatore (Program Database) per archiviare le informazioni di debug in un file PDB per il file OBJ. Il linker cerca prima il PDB dell'oggetto nel percorso assoluto scritto nel file OBJ e quindi nella directory che contiene il file OBJ. Non è possibile specificare il nome o il percorso del file PDB di un oggetto al linker.

/INCREMENTAL è implicito quando /DEBUG viene specificato.

/DEBUGmodifica le impostazioni predefinite per l'opzione da a e da ICF a NOICF, quindi se si desidera che le impostazioni predefinite originali siano specificate in modo esplicito /OPT:REF o /OPT:ICF dopo l'opzione/DEBUG.NOREFREF/OPT

Non è possibile creare un file EXE o DLL contenente informazioni di debug. Le informazioni di debug vengono sempre inserite in un file OBJ o PDB.

Per impostare questa opzione del linker nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Debug del linker>.

  3. Modificare la proprietà Genera informazioni di debug per abilitare o disabilitare la generazione di PDB. Questa proprietà abilita per /DEBUG:FASTLINK impostazione predefinita in Visual Studio 2017 e versioni successive.

  4. Modificare la proprietà Genera file di database di programma completo per abilitare /DEBUG:FULL la generazione completa di PDB per ogni compilazione incrementale.

Per impostare l'opzione del linker a livello di codice

  1. Vedere GenerateDebugInformation.

Vedi anche

Informazioni di riferimento sul linker MSVC
Opzioni del linker MSVC