N/APosted on - 06/01/2015
I need some information on PDB. I am working on Microsoft Framework 2.0 and I need to implement pbd in it. I am not able to debug my release without it. I have compiled my code and tried generating the pdb file, but the system is throwing an error while generating pdb. Also I am doubtful that if I include this file, my applications run time will increase and its performance will hence decrease. Please throw some light on this.
How to generate PDB files in Microsoft framework?
The full name for PDB file extension is Program Database and was developed by Microsoft for storing debugging information about a program and it is used by numerous apps such as Quicken, Ms Visual Studio, Palm Pilot Software; saves data in configured format; by and large with the corresponding app. It also holds the new format for storing debugging information that was launched in Visual C++version 1.0. Any file saved in PDB do have a .pdb extension and stores a file of all characters in module with their addresses and probably the name of the file and the line on which the character was opened. However, the information of these characters or symbols are not stored in the module itself due to its large use of disk space. PDB files are only opened via the program they were installed with (an Intuit Quicken PDB file is not recognized by say a Palm Pilot Software) hence making it a proprietary file format. There is a prediction that the PDB file will soon be holding other project state information in the future.
Regarding your quest in knowing whether generating a PDB file will affect the performance of your application and its run time, this is my reply. My simple answer is No. Considering .NET for example, you build a PDB file has zero impact on the optimization of the application’ performance. However, the performance of applications with respect to the generation of pdb files could perhaps have an impact in other Operating Systems but certainly not Windows. Let me tell you that the Microsoft Company being the leading software developing company in the world with much focus on performance will not build every product they ship with PDB files turned on for both debug and release builds. Not forgetting that fact that the compiler, the linker, and the Operating System were written by them hence Microsoft will not hesitate to encourage such development knowing its negative effects.