Tutti noi conosciamo l’importanza dei files di codice sorgente. Abbiamo per questo il source control. Ma…non c’è solo questo. Infatti un’altra serie di oggetti fondamentali spesso sono ignorati: i file PDB (Program Database).

Innanzitutto, cosa sono. Sono dei file al cui interno sono specificati (per un .pdb .NET) i nomi dei file di codice sorgente ed I nomi delle variabili. Questi file sono i simboli del nostro codice sorgente, rendendo possibile operazioni come il debug.

Come fa Visual Studio a capire quali simboli sono legati alla versione attuale del nostro codice sorgente? All’interno del PDB è memorizzato un GUID che identifica ogni versione.

Non sono file da distribuire, ma da tenere a disposizione per ogni evenienza di debug e non solo (ad esempio, IntelliTrace si basa pesantemente sui PDB).

Cosa serve per mantenere i PDB disponibili? Un Symbol Server, ossia un server (con una share di rete sostanzialmente) dove copiare i file una volta terminata la compilazione. Team Build permette di copiare direttamente i file PDB “da qualche parte” già con il Process Template di default, per cui siamo a posto Smile

Ne approfitto per segnalare un *fantastico* articolo di Ed Blankenship (Visual Studio ALM MVP) che ci spiega come creare un Symbol Server e come impostare il supporto al SS da Visual Studio 2010.

posted on martedì 22 febbraio 2011 20:04 | Print

Comments

Gravatar
# re: Perchè i PDB sono importanti!
Posted by Matteo on 23/02/2011 13:20
Ciao, i PDB sono dei file da usare come ausilio al debug. Distribuirli in produzione non cambia le cose, puoi tenerli nel Symbol Server ed utilizzarli con un dump che ti viene mandato (o prelevi tu) dal cliente in caso di problemi.
Gravatar
# re: Perchè i PDB sono importanti!
Posted by Leonardo on 23/02/2011 18:51
Per loggare su file di testo l'eccezione tornano bene però
Comments have been closed on this topic.