Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)

Getting Symbols in VTune Amplifier 2018

Ian_Mallett
Beginner
1,886 Views

Hi,

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

vtune.png

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

vtune2.png

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

0 Kudos
1 Solution
Denis_M_Intel
Employee
1,886 Views

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/)?

View solution in original post

0 Kudos
5 Replies
Denis_M_Intel
Employee
1,887 Views

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/)?

0 Kudos
Ian_Mallett
Beginner
1,886 Views

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.
0 Kudos
Denis_M_Intel
Employee
1,886 Views

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

0 Kudos
KChas1
Beginner
1,886 Views

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

0 Kudos
Denis_M_Intel
Employee
1,886 Views

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

0 Kudos
Reply