If ANTS Performance Profiler cannot locate usable .pdb (debugging symbols) files for the application you are profiling, it can't display method source code or show line-level timings. You may see theerror message "The profiler did not find any methods with source code."
This can meant that:
This page explains how to fix these issues.
To fix other issues causing missing results, see Troubleshooting missing results.
The method for creating a PDB depends on the type of application you are profiling.
If your application's namespace includes multiple DLLs, ANTS Performance Profiler will look for a PDB for each of them. Line-level profiling results and source-code display will be available only for methods in those DLLs for which ANTS Performance Profiler can locate the PDB. |
ASP.NET web applications:
compilation
tag and set its debug
attribute to true.Simply rebuilding the assembly won't work unless debugging is enabled. Once the .pdb file has been created, you can set |
Other types of application:
See Debug settings and preparation (MSDN).
If you don't have a usable PDB file for an assembly, you can still display source code in ANTS Performance Profiler using the integrated decompilation feature. Line-level timings will be unavailable. For details, see Working with integrated decompilation.
For each of an application's assemblies, ANTS Performance Profiler looks for PDBs in the directory where the assembly's DLL is stored. (For ASP.NET web applications, this is by default the bin or app_bin folder.) If the PDB for a profiled assembly isn't in this folder, move it into this folder to enable line-level profiling and source code display.
If you can't move the PDBs for all your DLLs into a folder where ANTS Performance Profiler can find them (for example, if your application uses assemblies from the Global Assemblies Cache), you can bypass the problem by creating a global debugging symbols (PDB) directory.
Alternatively, if your application uses assemblies from the Global Assemblies Cache, you can copy your PDBs to the same directory as your DLLs in the Global Assemblies Cache.
If the assembly has been changed since its .pdb file was generated, the PDB may be out of date. To update it:
Simply rebuilding the assembly will not work unless debugging is enabled. |
A corrupt .pdb file causes ANTS Performance Profiler to crash
If ANTS Performance Profiler encounters a corrupt PDB during profiling, the profiler may crash and fail to return results. The corrupt PDB might belong to a third-party DLL or to the application you want to profile.
There are two ways to profile an application with a corrupt PDB:
This will prevent you from viewing source code referenced in the deleted PDB, but will display line-level code for all other methods.
If you still can't fix your problem, please contact Redgate support. Supply as much information as you can, including: