Pdb files, line-levels timing

ClementLClementL Posts: 3
edited February 10, 2016 12:12PM in ANTS Performance Profiler 9

I've been doing some profiling on an ASP.net application running on IIS. After a few tries, i succeeded in displaying line levels timing instead of method levels timing. I've done so by including pdb files in the Bin directory of my app and enabling the "debug" flag of the configuration file to true.

However, it seems that there is still an issue regarding Pdb files loading because line levels informations are only available for some methods included in my main web site dll. When it comes to business or DAL assemblies, i'm back to method-level timing.

I've read the following documentation about pdb file trouble shooting

http://documentation.red-gate.com/displ ... B+problems

But i'm not in any of the described cases :

- My PDB files are in the bin directory
- My PDB Files are up to date (built at the same time as assemblies)
- There is no crash of Ants Profiler when trying to load PDBS

Any help would be appreciated.


  • Jessica RJessica R Posts: 1,319 Rose Gold 4
    Hi and thanks for your post!

    For some reason, some pdb files can't be detected even though they are up-to-date and in the expected location. I unfortunately don't know too much about what causes this, but for these assemblies, it usually works to place the pdb files in a global debugging symbols folder in %systemroot%symbolsdll (as described here).

    Can you kindly try placing the pdb's for your business and DAL assemblies into %systemroot%symbolsdll and then try profiling again?

    Please let me know if that helps or not!

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

  • Hi,

    I've put the pdbs in a global folder as described in the link you provided, even if it looks a little bit intrusive to have to modify a system folder to make this work...

    In a way, it works better since now i have the possibility to define the path to the source code (which was not possible previously). Once this is done, i can get the line levels timings.
    But this is not very convenient to use, since i have to specify again the path to the source code for each element of the treeview every time i perform a new profiling session... I think this issue comes from the building of dlls/pdbs that have been performed on a different server with source code located in a different file system path, so when the profiler tries to reach the code, by default it looks for the source code in the path where the dll have been built...

    Anyway, Line-level timings are available now, sorry for the late feedback and thanks for the help !
  • That's great to hear you're seeing the line-level timings now!

    Ah yes, the source file locations are built into the pdb file so the profiler will let you specify the path if they aren't in the expected location. I can definitely see how that can be frustrating to do every time you profile though and I'll pass on your feedback in case caching the locations may be possible in the future. Thanks for this and please let us know if anything else comes up!

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

Sign In or Register to comment.