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

IVF10 - MSVS2003 Debugger Problem

jackosullivan
Beginner
395 Views

Using my exe compiled from IVF 10.0.026 within MS Visual Studio (Development Environment 2003) 7.1.6030 incl Service Pack 1, I got the following RT error when simply executing with a certain data set:

---------------------------

Visual Fortran run-time error

---------------------------

forrtl: error (65): floating invalid

Image PC Routine Line Source

CE099-4_5.exe 00734D32 Unknown Unknown Unknown

CE099-4_5.exe 00663297 _LNGVALV@8 261 lngvalv.for

CE099-4_5.exe 004423C3 _VALVT@0 777 Valvtjtf.for

CE099-4_5.exe 004D186D _MAIN__ 2518 Mainjv3.for

CE099-4_5.exe 00772515 Unknown Unknown Unknown

CE099-4_5.exe 0071FA46 Unknown Unknown Unknown

CE099-4_5.exe 0074649E Unknown Unknown Unknown

kernel32.dll 7C80B683 Unknown Unknown Unknown

Followed by the ubiquitous Ok, which of course it is not

When I run the same data set by Debug | Start from within the Visual Studio Interface, I get only the following RT error message:

---------------------------

Visual Fortran run-t ime error

---------------------------

forrtl: error (65): floating invalid

and its Ok

After which, the only references I can find in the MSVS Call Stack are:

> CE099-4_5.exe!_for__issue_diagnostic() + 0x3df

CE099-4_5.exe!_for__nt_signal_handler() + 0x74e

CE099-4_5.exe!_for__nt_handler_jacket.() + 0x30

CE099-4_5.exe!fpieee_flt_simd(unsigned long exc_code=, _TEMP_EXCEPTION_POINTERS * p=, int (_FPIEEE_RECORD *)* handler=) + 0x741

CE099-4_5.exe!_fpieee_flt(unsigned long exc_code=65, _EXCEPTION_POINTERS * p=0x00000000, int (_FPIEEE_RECORD *)* handler=0x0008001f) + 0x5fb

CE099-4_5.exe!_main() + 0xc7

CE099-4_5.exe!__QWINForkMain@4() + 0xe

CE099-4_5.exe!_threadstartex(void * ptd=0x01493d50) Line 241 + 0x6

kernel32.dll!7c80b683()

And most painful, I have no locals available in any of my source file listings (lngvalv.for, or valvtjtf.for).

What happened to all the Call Stack references? In particular those between the Call Stacks main() + 0xc7 and Line 261 of lngvalv.for where the non-debugger error message tells me I have a problem?

More importantly, how should I get the debugger to stop where I can see what caused the error i.e., stop right next to Line 261 of lngvalv.for when this error occurs?

Thanks very much and God bless!

Jack

0 Kudos
2 Replies
Steven_L_Intel1
Employee
395 Views
Try rebuilding with the Fortran > Data > Floating point exception setting set to /fpe:0 and see what you get. You may be picking up a NaN from the data set.

You can also use Debug > Exceptions to break immediately on a floating invalid and see if that helps.
0 Kudos
jackosullivan
Beginner
395 Views

Steve,

Thanks so much for the quick answer.

I was already using /fpe:0, but the Debug>Exceptions did the trick! (Not knowing what 90% of those might mean, I just selected them all.) I was trying to feed a DSQRT a negative number, and now have half a chance of finding out why.

Thanks again for your so dedicated expertise ... or is it expert dedication?... BOTH!

God bless!

Jack

0 Kudos
Reply