Program database
From Wikipedia, the free encyclopedia
PDB stands for Program Database, a proprietary file format (developed by Microsoft) for storing debugging information about a program (or, commonly, program modules such as a DLL or EXE). PDB files commonly have a .pdb extension. A PDB file is typically created from source files during compilation. It stores a list of all symbols in a module with their addresses and possibly the name of the file and the line on which the symbol was declared. This symbol information is not stored in the module itself, because it takes up a lot of space.
[edit] Applications
When a program is debugged, the debugger loads the debugging information from the PDB and uses it to locate symbols or to relate current execution state of a program to the source code files. A debugger that is able to handle PDB files (and uses them as its primary file format for debugging information) is Microsoft Visual Studio.
Another use of PDBs is in services that collect crash data from users and relate it to the specific parts of the source code that cause (or are involved in) the crash. An example of this is SupportSoft's Talkback.
PDB files are not usually distributed with a compiled program to end-users. They are merely used by developers.
[edit] Extracting Information
Although the PDB format is undocumented and proprietary, information can be extracted from a PDB-file using the DIA (Debug Interface Access) interfaces, available on Microsoft Windows.