Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5248 ディスカッション

VTune Hotspot Profiler, No Function Names in Release mode

Lamb__Tripp
新規コントリビューター I
5,205件の閲覧回数

I just started using the hotspot analysis from the VTune Performance Profiler for a Fortran Project. Is there a way to get the function names to show up in Release mode?

 

I've messed around with several project settings, but I can't seem to find what I need to change. They are showing up fine in Debug mode.

0 件の賞賛
1 解決策
Lamb__Tripp
新規コントリビューター I
4,908件の閲覧回数

I found the answer to my question after some subsequent work.

 

In order for the executable to build with Debug Info intact by changing settings in the Visual Studio project settings, you need to also change the Linker->Debugging->"Generate Debug Info" setting to Yes. Only changing the Fortran->Debugging->"Debug Information Format" to Full isn't enough on it's own.

 

Hopefully this will help someone else one day.

元の投稿で解決策を見る

10 返答(返信)
Vladimir_T_Intel
モデレーター
5,188件の閲覧回数

Hello,

 

Are you compiling Fortran code on Windows or Linux?

 

Anyway, on Windows you might want to try compiling with, for example: -debug:full -O2

Using -O2 is overriding cancelling optimization and still preserving debug symbols.

I found a nice detailed thread on this topic with Steve Lionel answering here: https://community.intel.com/t5/Intel-Fortran-Compiler/compiler-flags-for-release-with-debug-symbols/td-p/1150779

On Linux it should also work, as well as -g option.

Hope it helps.

Lamb__Tripp
新規コントリビューター I
5,173件の閲覧回数

Compiling on Windows.

 

I've tried -debug:full. It didn't seem to make a difference, but I hadn't tried -O2. Thank you.

 

EDIT: Changing those two settings in the Visual Studio Project settings didn't change anything. I also added the arguments to the command line setting also to no avail. I'm still only getting names like func@0x4b2e72b2 when I use the release mode build in the Performance Profiler.

Vladimir_T_Intel
モデレーター
5,161件の閲覧回数

Are you sure that the func@0x4b2e72b2  belongs to a binary you've compiled? (not to some system module)

Lamb__Tripp
新規コントリビューター I
5,159件の閲覧回数

That one specifically? No. But every function in the list has a name in that form.

Vladimir_T_Intel
モデレーター
5,144件の閲覧回数

Do you observe .pdb files created in your project when using those options?  If not, would you try /Zi then?

Lamb__Tripp
新規コントリビューター I
5,098件の閲覧回数

Using /debug:full or /Zi will build a vc160.pdb file but it will not create a pdb file with the same name as the executable.

Vladimir_T_Intel
モデレーター
5,080件の閲覧回数

Then I'd recommend to submitting a question on the Fortran compiler forum. I suppose you will find an answer on .pdb files much faster there. 

Lamb__Tripp
新規コントリビューター I
5,051件の閲覧回数

Will do! Thank you for the help.

It seems like I must have some option somewhere overriding the debug information being generated. I'll ask that forum.

AlekhyaV_Intel
モデレーター
4,977件の閲覧回数

Hi,


Thank you for accepting our solution. If you need any further assistance, please post a new question as this thread will no longer be monitored by Intel.


Regards,

Alekhya


Lamb__Tripp
新規コントリビューター I
4,909件の閲覧回数

I found the answer to my question after some subsequent work.

 

In order for the executable to build with Debug Info intact by changing settings in the Visual Studio project settings, you need to also change the Linker->Debugging->"Generate Debug Info" setting to Yes. Only changing the Fortran->Debugging->"Debug Information Format" to Full isn't enough on it's own.

 

Hopefully this will help someone else one day.

返信