Creating a global debugging symbols (PDB) directory
Published 08 November 2013
ANTS Performance Profiler requires a PDB file corresponding to the assembly being profiled in order to locate source code for line-level timings and filtering functions. Normally, the PDB can be resolved if it is in the same folder as the assembly. Other methods for debugging symbols storage, such as a symbol server, aren't used by ANTS Profiler, but it is still possible to create a "global" symbol store by leveraging the features of the Visual C++ runtime.
To create a global symbol store for ANTS Profiler, create a subfolder called "Symbols" inside the %SYSTEMROOT% folder. Underneath this, create two more subfolders called "dll" and "exe". The dll folder can be used to store your class library symbols, while the exe folder is used to store the PDB files corresponding to executable assemblies that you may want to profile.
For instance, you can copy your class library debugging symbols to
c:\windows\symbols\dll
...and you can copy your executable symbols to...
c:\windows\symbols\exe
Please note that using this approach will more than likely cause problems if you have many versions of the same assembly that you want to profile. There is no way to store many versions of the same assembly's pdb in the exe or dll folders, unlike a proper symbol server that can segregate symbol databases into different folders by their version using the symstore.exe utility, for instance.