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

Debugging Intel Visual Fortran programs in Visual Studio .NET

stigandersen
Beginner
1,350 Views
Hi,
I just downloaded IVF and wanted to try it, but I am running into a number of problems.
WhenI attempt to debug programs built from Visual Studio .NET the debugger does not work correctly. It can browse through parts of the source code but not all of it. The debugger just appears to loose its way and no longer know where it is - no yellow arrow at the current line and no information about variables. I have checked that all optimisations are off and that full debug info is on. Any suggestions?
I then went back to working from the command line, andI discovered that the ifort command does not accept wildcard syntax such as"ifort *.f90".Is there any way to get this functionality with the ifort command?
Kind regards and thank you in advance,
Stig Andersen
0 Kudos
9 Replies
stigandersen
Beginner
1,350 Views

Hi again,

I forgot to mention that when the debugger looses its way a process called devenv.exe keeps running at 100 % CPU load for what appears to be an infinite amount of time.

Kind Regards,

Stig Andersen

0 Kudos
TimP
Honored Contributor III
1,350 Views

If you leave warnings enabled, you may get warnings at compile or link time, if the compiler knows it has failed to generate correct line number information, or the linker detects corruption in the .pdb file. I suspect this is more likely to occur with large files. Please consider submitting such cases on your premier.intel.com account. You are entitled to open that account even with an evaluation license, although paid licenses may get priority.

For"all optimizations off" on Windows, you should use /Od, which should be the default when you set debugging. Use the debug option for linking (using ifort to drive the link)as well as for compiling. On linux, -O0 turns optimizations off.

0 Kudos
stigandersen
Beginner
1,350 Views

Thank you for your reply


If you leave warnings enabled, you may get warnings at compile or linktime, if the compiler knows it has failed to generate correct line number information, or the linker detects corruption in the .pdb file. I suspect this is more likely to occur with large files.

I have tried turning all warnings on, but I only get a couple of warnings about arguments that are not used (in places where it isintended). The project I am browsing does contain some thousands of linesof code. Browsing code, however, seemed to work reasonably well with the 7.1 compiler. Perhaps I should be asking if there is anything new that one needs to do in order to be able to browse code in developer studio with the 8.0 compiler compared to the 7.1 compiler ? The code is a straight forward single threaded console application.


... although paid licenses may get priority.
As they should, but you are stillstating it mildly:smileyhappy: I had issues that went unanswered for a couple of months the last time I tried Premier Support from an evaluation download of the 7.1 compiler. I posted here because was hoping for an answer beforethis evaluation license runsout :smileywink:

If the issue does not get resolved here I will submit it to premier support and see what happens (or what does not happen)

Kind Regards,

Stig Andersen

0 Kudos
Steven_L_Intel1
Employee
1,350 Views

The compile command does not accept wildcards.

Please do report the debugger hang to Premier Support, and attach a ZIP file of your VS.NET "solution". Be sure to specify which version (2002 or 2003) of VS.NET you have.

0 Kudos
stigandersen
Beginner
1,350 Views

Dear Steve,

Thank for your reply. I will submit the problem/solution to premier support.

Regarding the use of wild cards is there any known easy way to to get the wildcard functionality by piping the output from ashell command or programto the ifort command (I tried but could not make it work)? I guess I will make a small program that generates a bacth file with the appropriate (mile long :-) ifort command.

I will file a feature request with premier support thatsupport ofwild cards get put back into the ifort command.

When using CVFI always used the wildcard syntax because I had to compile all my source files at once in order to get CVF to inline a large number of small functions across a largish number of source files. Will the interprocedural optimisations across multiple source files work without compiling all files at once with IVF?

Kind Regards and Thank You in advance,

Stig Andersen

0 Kudos
gregscvf
Beginner
1,350 Views
With regards tobatch wildcard functionality, check out the FORcommand-line command (see FOR /?) .The options you wantwork under most newer Windows operating systems.
Greg
0 Kudos
Steven_L_Intel1
Employee
1,350 Views
Intel Fortran offers cross-file interprocedural optimization without requiring that you compile everything together. For details, see the section of the documentation that deals with optimization, and the /Qipo switch. Also look at the profile-guided optimization feature.
To be honest, I didn't even know that CVF's command driver supported wildcards, but I tried it and it does. I'll ask our driver engineers if that's something they can add.
0 Kudos
Lorri_M_Intel
Employee
1,350 Views

This is actually in response to wildcard'ing ...

There was a bug in the driver that disallowed that; it has been fixed in our current sources, and hopefully will be in the first update kit available for 8.0.

Sorry for the inconvenience -

- Lorri

0 Kudos
stigandersen
Beginner
1,350 Views
Thank you for the replies
Steve: I will RTFM on /Qipo :-) Thank you for passing on the request for wildcard syntax.
Lorri: It is great that the support for wildcards has been restored. I move between platforms a lot, and the names of my source files are all prefixed withnumbers (such as: 010_myfile.f90) so that module dependencies are fulfilled if the files are compiled in alphabetical order. It forces me to think about dependencies in a global way when I add new files to my source tree and it makes for acompact and portable"make file":
prompt$ compilername -WhatEverFlagsNeeded *.f90
Thank you again,
Stig Andersen
0 Kudos
Reply