"Source/assembly code is not available" warning in hotspots analysis

"Source/assembly code is not available" warning in hotspots analysis

I ran hotspots analysis using VTune Amplifier XE 2013, Update 5 (build 274450) on Windows 7 Professional 64-bit in Visual Studio 2010 Professional SP1, and my problem is that I cannot see the source code in analysis results. When I double-click "MyApp.exe" in the "Bottom-up" screen, I get a warning "Source/assembly code is not available".

I followed the tutorial from the installation folder (file:///C:/Program%20Files%20(x86)/Intel/VTune%20Amplifier%20XE%202013/documentation/en/tutorials/find_hotspots/Fortran/index.htm), so I used the release configuration, changed the Debug Information Format to /debug:full, made sure that the optimization is set to Maximize Speed, rebuilt the application and started the hotspots analysis from the corresponding toolbar.

I tried this for both 32-bit and 64-bit version of my application; the problem is the same in both of them.

I tried using both default and manual settings for the target and the working directory, I tried specifying the folder to be searched for source file, but nothing helped.

Is there anything else I am missing and could be causing the problem?

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

>>... that I cannot see the source code in analysis results. When I double-click "MyApp.exe" in the "Bottom-up" screen, I get
>>a warning "Source/assembly code is not available"...

There are two reasons why it happens:

- An executable is Not built with Debug Information ( with a compiler option /ZI, for example )
- A path to a directory with source codes is Not set in properties of the VTune project

As i mentioned in my original post, I did both - I built the executable with debug information and I specified the directory with source code files in project's properties (even though this is not mentioned in the tutorial). I double-checked this again. Everything works well in the Debug configuration.

Edit: I have just checked that the file size slightly increases when /debug:full is enabled;so it is likely that this compiler option is not ignored.

I asked in IVF Compiler forum and I was told to enable debug info in linker options; that was the key - everything works like a charm now. :-)

I completed additional verification for a small test-case with the following command line ( Intel C++ compiler v13 / Windows 7 Professional / VS 2008 Professional Edition ):

icl.exe /D_DEBUG / MDd /ZI /O3 main.cpp

and VTune worked well ( as you can see I didn't pass anything to Linker ). Also, Debug Information Format options are as follows: /Z7, /Zd, /Zi, /ZI.

Sergey, thank you for running these tests in C++. In Fortran, debug information format options for the compiler are None, Minimal (line numbers only) and Full; I used Full. As I explained before, I have no idea why this is not sufficient to see the source code in VTune - I desperately tried what was recommended to me, i.e. modify debugging options for the linker, namely generating debug info (/debug), and everything started working.

What I found in documentation for Intel C++ compiler and linker is that /Zi does imply /debug, which explains why you don't have to specify anything else but /Zi.

Please take a look at command line options of Intel Fortran compiler ( Not in docs! ).

Note: In case of Intel C++ compiler the option /Zi is supported:
Output, Debug, PCH
/Zi, /ZI, /Z7
produce symbolic debug information in object file (implies /Od when
another optimization option is not explicitly set)
enable debug information and control output of enhanced debug
keywords: all, full, minimal, none, [no]inline-debug-info

I'll take a look at Intel Fortran compiler as well.

When I take the original command line from the Release configuration of my Fortran project, I have:

/nologo /MP /O2 /fpp /Qopenmp /fpscomp:general /assume:byterecl /libs:static /threads /c (for the compiler)


Next step was that I added /debug:full to the compiler options. I then encountered the problem that source code was not available in VTune results.

When I added /DEBUG to the linker options, everything works well.

When I referred to the documentation, my point was that using the option /Zi automatically implies /debug in C++, and I thought it could be the explanation why specifying just /Zi was sufficient in your tests.

I'm not sure that this is applicable for your case and please take a look:

[ Page 14 ]

Do not use -ipo option since it causes the inline debug information to switch off. (200260765)

- If using the Intel® compiler to get performance data on inline functions, use the additional option “/debug:inline-debug-info”, but avoid using the /Qipo option. Currently this option disables generating the inline debug information in the compiler. Note that the Intel compiler integrated into the Microsoft Visual Studio* IDE uses the /Qipo by default in the Release configuration.

I have the /Qipo option disabled in the Release configuration, so this could not have been causing the problem with missing debug info. It seems that Fortran and C++ compiler and linker work somehow differently.

Is there a possibility to make a small Fortran reproducer that we can analyze?


I could provide a small reproducer for a C/C++ application and I will try to create another one for a simple Fortran application. So, I'll upload projects as soon as everything is done.


PS: Both projects will be for Visual Studio 2008 Professional Edition & Intel Parallel Studio XE 2013.

Intel Amplifier XE 2013 project ( C/C++ ) attached.


Downloadapplication/zip tensorkernel.zip6.82 KB

Leave a Comment

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