/DEBUG
(Genera informazioni di debug)
L'opzione /DEBUG
del linker crea un file di informazioni di debug per l'eseguibile.
Sintassi
/DEBUG
[:
{FASTLINK
||FULL
NONE
}]
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:FULL
a , 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.
/DEBUG
modifica 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
.NOREF
REF
/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
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Debug del linker>.
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.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
- Vedere GenerateDebugInformation.
Vedi anche
Informazioni di riferimento sul linker MSVC
Opzioni del linker MSVC