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

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

jirina
New Contributor I
470 Views

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?

0 Kudos
11 Replies
SergeyKostrov
Valued Contributor II
470 Views
>>... 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
0 Kudos
jirina
New Contributor I
470 Views

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. :-)

0 Kudos
SergeyKostrov
Valued Contributor II
470 Views
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.
0 Kudos
jirina
New Contributor I
470 Views

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.

0 Kudos
SergeyKostrov
Valued Contributor II
470 Views
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) /debug[:keyword] enable debug information and control output of enhanced debug information keywords: all, full, minimal, none, [no]inline-debug-info parallel [no]expr-source-pos .... I'll take a look at Intel Fortran compiler as well.
0 Kudos
jirina
New Contributor I
470 Views

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)

/NOLOGO /SUBSYSTEM:CONSOLE /STACK:100000000

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.

0 Kudos
SergeyKostrov
Valued Contributor II
470 Views
I'm not sure that this is applicable for your case and please take a look: Release-notes-amplifier-xe-windows-update5.pdf ... [ 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. ...
0 Kudos
jirina
New Contributor I
470 Views

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.

0 Kudos
Kirill_R_Intel
Employee
470 Views

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

0 Kudos
SergeyKostrov
Valued Contributor II
470 Views
Kirill, 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. Thanks. PS: Both projects will be for Visual Studio 2008 Professional Edition & Intel Parallel Studio XE 2013.
0 Kudos
SergeyKostrov
Valued Contributor II
470 Views
Intel Amplifier XE 2013 project ( C/C++ ) attached.
0 Kudos
Reply