Vtune profiler not picking up symbols

Started by
2 comments, last by Kylotan 16 years, 11 months ago
The symbols are right there, in PDB form, generated by C++ .NET 2003. They're up to date, and in the same directory as the executable I'm profiling. But most of the time, it just fails to find them when I'm doing a profiling run. I look at the Sampling Results and it's just a long list of virtual addresses, with function/source file/class greyed out. I look at the Call Graph results and I can't find any information about my functions anywhere. It doesn't even always mention that it couldn't find the symbols. Anybody got any idea what could be going on?
Advertisement
Is the main PDB in the same location as the executable and does it have the same name? I've seen some utils that use PDBs (though not VTune) get confused when the PDBs have been redirected to alternate locations (even though the executable should have a reference to the location).

What I'd do next in situations like this is run FileMon (www.sysinternals.com) and see what paths/files VTune is looking in.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

The VTune knowledge-base says this:
Quote:How to provide the name of pdb file

Solution:
Config. /Options / Directories and then change the "Show directories for" on the top to: Symbol files. Double click on the path and change it.

And I'm not sure on this one, but it stands to reason that the linker can only create a symbol database from what the compiler tells it. So under your compiler settings, do you have 'Debug Information Format' set to 'Program Database' or greater (I'm assuming Visual Studio)?

Admiral
Ring3 Circus - Diary of a programmer, journal of a hacker.
Yeah, the data's all there, it's just VTune being useless. I can see all the symbols just fine if I use the Sampling Results externally. It just fails to do it from within Visual Studio, or if I want a call graph.

This topic is closed to new replies.

Advertisement