Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Visual Fortran Composer XE 2013 64 bit debugging issue

William_B_2
Beginner
3,614 Views

I am currently running XE 2013 and have been compiling code for 32 and 64 bit.  When running in the debug mode, I can not view any of the variables as I step thru the code.  I can when using 32 bit.  I have seen some threads that discuss this issue but not any solutions.  I have gone thru a uninstall and reinstall.   I am currently running SP! 5.239.  Is there a patch that fixes this issue?

0 Kudos
14 Replies
Steven_L_Intel1
Employee
3,614 Views

I have a vague memory of this issue, but I'm home right now and can't look it up. Have you tried a later compiler version? Also. which VS version are you using?

0 Kudos
William_B_2
Beginner
3,614 Views

VS2013 Ultimate

0 Kudos
William_B_2
Beginner
3,614 Views

VS2013 Ultimate 12.0.40629.00 Update 5

 

0 Kudos
Steven_L_Intel1
Employee
3,614 Views

See https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/515943  I posted a fix there. Be sure to read the whole thread.

0 Kudos
William_B_2
Beginner
3,614 Views

Thanks I downloaded the file and it is working fine now.

0 Kudos
Jason_S_8
Beginner
3,614 Views

I've been having similar troubles debugging a 64 bit fortran application i.e. cannot see variables (seems like if they're all caps they can be seen, but not lowercase ones).  Additionally the debugger displays erratic behavior - jumping from one line to several lines up or down in the code as if there is a mismatch between compiled code and source files, but I know this is not the case.

I'm using the following:

 

Microsoft Visual Studio Enterprise 2015
Version 14.0.24720.00 Update 1
Microsoft .NET Framework
Version 4.6.01055

Installed Version: Enterprise

Architecture and Modeling Tools   00322-90000-98461-AA325
Microsoft Architecture and Modeling Tools
    
UML® and Unified Modeling Language™ are trademarks or registered trademarks of the Object Management Group, Inc. in the United States and other countries.

Visual Basic 2015   00322-90000-98461-AA325
Microsoft Visual Basic 2015

Visual C# 2015   00322-90000-98461-AA325
Microsoft Visual C# 2015

Visual C++ 2015   00322-90000-98461-AA325
Microsoft Visual C++ 2015

Application Insights Tools for Visual Studio Package   1.0
Application Insights Tools for Visual Studio

ASP.NET and Web Tools   14.0.20626.0
ASP.NET and Web Tools

ASP.NET Web Frameworks and Tools 2013   5.2.30624.0
For additional information, visit http://www.asp.net/

Common Azure Tools   1.5
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Intel® Parallel Studio XE 2016 Update 2 Composer Edition for Fortran Windows*     Package ID: w_comp_lib_2016.2.180
Intel® Parallel Studio XE 2016 Update 2 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2015, Version 16.0.0061.14, Copyright © 2002-2016 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.

Microsoft Azure Mobile Services Tools   1.4
Microsoft Azure Mobile Services Tools

NuGet Package Manager   3.3.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

PreEmptive Analytics Visualizer   1.2
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

SQL Server Data Tools   14.0.50616.0
Microsoft SQL Server Data Tools

TypeScript   1.7.4.0
TypeScript for Microsoft Visual Studio

0 Kudos
Steven_L_Intel1
Employee
3,614 Views

You're not getting the Fortran debug support loaded - a different issue. Is this a Fortran-only application or is there another language in it?

0 Kudos
Jason_S_8
Beginner
3,614 Views

The dll I'm trying to debug is mixed - c++ and Fortran.

 

The process I'm attempting to debug in is spawned from a 32 bit application.  So I have to attach to it (the 64 bit process) after it's spawned in order to try and debug it.

0 Kudos
Steven_L_Intel1
Employee
3,614 Views

Ah, so it's a lot more complicated than "a Fortran application".

In VS2015, go to Tools > Options > Debugging > General. Scroll down to "Enable Edit and Continue" and uncheck the box "Enable Native Edit and Continue", then click OK and try again. When this option is enabled, the debugger refuses to load non-Microsoft debug support.

Your use of attaching to a process probably complicates this further, but give this a go.

0 Kudos
Jason_S_8
Beginner
3,614 Views

The edit and continue option is currently unchecked (sub items are grayed out).

I tried running the subordinate process (64 bit) on its own in the debugger but I still cannot see variable values in my watch.  It's also still jumping around in the code as if the source file is different than what's compiled.

 

That doesn't take the c++ out of the mix, though.

0 Kudos
Steven_L_Intel1
Employee
3,614 Views

Maybe it is a different source. For the variables you do see, does the type show in Fortran syntax or C syntax? What if you simply build a Fortran executable that links to the Fortran DLL in the same VS solution? Is the DLL compiled with optimization?

0 Kudos
Jason_S_8
Beginner
3,614 Views

It could be a different source, but I don't believe it is.  In 32 bit it does not jump around.  I have cleaned the intermediate files in both configurations, but I can do that again to make sure it's synced with the actual files.

In 64 bit, the types show as Fortran types when I can see them at all and the values when I can see them (e.g. a logical) shows .FALSE. in Fortran and bool - false when in c.  So it does seem to have the types correct.

I can try building a scenario where I'm using a fortran exe and a fortran dll with no c++ involved.  I'll have to do that tomorrow.  I will check the optimizations but we typically compile our debug configurations with no optimizations.

Thanks for your help...I'll post more when I can build the test mentioned above.

0 Kudos
Jason_S_8
Beginner
3,614 Views

Hi Steve.  It was the optimizations.  I checked them this morning and most of the static libraries linked to the dll showing the problems had various optimizations on for the debug 64 bit configuration.  We recently reorganized projects into a master solution and the optimizations must have gotten reset when that happened.

Thanks for your help

0 Kudos
Steven_L_Intel1
Employee
3,614 Views

Ok, glad to hear it.

0 Kudos
Reply