Getting Symbols in VTune Amplifier 2018

Getting Symbols in VTune Amplifier 2018

Hi,

VTune Amplifier 2018 in Visual Studio 2017 is not finding symbols for my program:

Notice the "func@0x..." notation. Mysteriously, during loading, it lists two modules where symbols failed to load—and neither is my code:

I wasn't able to resolve this with similar threads for previous versions of VTune. In particular, this is a debug build with the following set:

  • Program Database (/Zi)
  • Generate Debug Information (/DEBUG)

I have also confirmed manually that a ".pdb" file is being generated (in the same directory as the output ".exe").

Just for completeness, I also tried specifying "Binary/Symbol Search" and "Source Search" directories under "Vectorization and Threading Adviser Analysis -> Project Properties" and re-running the analysis, with no change in effect.

So . . . what do I try now?

Ian

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Hello,

  Could you check if value of the "Generate Full Program Database File" option is "Yes" and the /debug:full linker flag is used (see https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/)?

A few random thoughts:

  • Enabling those options explicitly seems to have done the trick. (Thanks!)
  • I hadn't noticed that the problem occurred in debug mode only, not release mode, and with the same same (unset) values of those arguments.
  • Hence, my guess is that `/debug` aliases to `/debug:fastlink` in debug mode, but to `/debug:full` in release mode—and that VTune requires `/debug:full` to work properly while I had been assuming it was set in debug mode too. It would be nice if VTune could read the indexed PDBs also (as I understand it, they store pointers to all data in ".o" files, so all the same information is still accessible).
  • At the very least, it would be nice to give some more helpful diagnostic: "VTune found an indexed PDB for this module, but deindexing is unsupported. Use linker option `/debug:full`." Or something.
  • I'll post back here if the problem returns in the future for a different reason.

Thank you for your thoughts. We will consider improving the current behavior.

Are there plans to support /debug:fastlink PDB files in the future since this is now the default project setting in VS 2017?

/debug:fastlink support is being is considered for future releases of VTune Amplifier.

Leave a Comment

Please sign in to add a comment. Not a member? Join today