File PDB (C++)
Aggiornamento: novembre 2007
Le informazioni contenute in questo argomento sono valide per:
Edition |
Visual Autenticazione di base |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro e Team |
Legenda tabella:
Applicabile |
|
Non applicabile |
|
Comando o comandi nascosti per impostazione predefinita. |
Un file di database di programma (PDB) contiene le informazioni relative al debug e allo stato del progetto che consentono il collegamento incrementale di una configurazione di debug del programma. Un file PDB viene creato quando si esegue una generazione con il formato /ZI o /Zi (per C/C++).
In Visual C++ l'opzione /Fd assegna un nome al file PDB creato dal compilatore. Quando un progetto viene creato in Visual Studio utilizzando le creazioni guidate, l'opzione /Fd viene impostata in modo da creare un file PDB chiamato progetto.PDB.
Se l'applicazione C/C++ viene generata utilizzando un makefile e si specifica /ZI o /Zi senza /Fd, vengono generati due file PDB:
VC80.PDB (o più genericamente VCx0.PDB, dove x rappresenta la versione di Visual C++) In questo file, disponibile nella stessa directory in cui si trova il makefile del progetto, vengono memorizzate tutte le informazioni di debug relative ai singoli file OBJ.
progetto.PDB In questo file vengono archiviate tutte le informazioni di debug relative al file EXE. Per C/C++, questo file si trova nella sottodirectory \debug.
Ogni volta che crea un file OBJ, il compilatore C/C++ unisce le informazioni di debug nel file VCx0.PDB. Queste includono informazioni sui tipi ma non sui simboli, quali le definizioni delle funzioni. Pertanto, anche se ciascun file di origine include file di intestazione comuni, quali <windows.h>, i typedef di tali intestazioni vengono archiviati solo una volta, anziché in ciascun file OBJ.
Il linker crea il file progetto.PDB contenente informazioni di debug relative al file EXE del progetto. Il file progetto.PDB contiene non solo le informazioni sui tipi disponibili nel file VCx0.PDB, ma tutte le informazioni di debug, inclusi i prototipi di funzione. Entrambi i file PDB supportano gli aggiornamenti incrementali. Il linker incorpora inoltre il percorso del file con estensione pdb nel file con estensione exe o dll creato.
Il debugger di Visual Studio utilizza il percorso del file PDB specificato nel file EXE o DLL per individuare progetto.PDB. Se il file PDB non viene trovato in tale percorso oppure se il percorso non è valido, ad esempio perché il progetto è stato spostato in un altro computer, verrà eseguita una ricerca nel percorso contenente il file EXE, i percorsi di simboli specificati nella finestra di dialogo Opzioni (cartella Debug, nodo Simboli). Non caricherà inoltre i file PDB non corrispondenti ai file binari sottoposti a debug.