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

Q about debugging hangup

WSinc
New Contributor I
212 Views

I recently am dubbing a program where it comes acros a read error.

So the breakpoint occurs in a library routine.

The output pane gives a traceback where the READ error occurred, but

I am wondering why I cannot go to the routine and examine the contents of the variables in that routine.

The stack window does not allow me to go to the routine that has the READ statement.

Is there a way around this, other that having to insert print statements there?

0 Kudos
4 Replies
Steven_L_Intel1
Employee
212 Views

Normally you can use the Stack dropdown to select your program's stack frame. Can you provide a test case that doesn't?

0 Kudos
andrew_4619
Honored Contributor II
212 Views

So you are trying to examine variables after the program has crashed. that often does not help as everything can be screwed by that point. Insert a break point at the line  where the crash occurs before running the program in debug to find out what is happening just before the crash. On a read error anyway the error message normally gives some indication of the error.

 

0 Kudos
Steven_L_Intel1
Employee
212 Views

I can reproduce the problem. When the DLL libraries are used, the stack is left in a condition that you can't see your program in the stack frame. A workaround is to link with the static libraries (Fortran > Libraries > Use Run-Time Library > Multithreaded (or Debug Multithreaded). I don't know why this is and will send it on to the developers.

0 Kudos
Steven_L_Intel1
Employee
212 Views

More interesting stuff. VS2013 and VS2015 show this unfortunate behavior, but VS2012 does not. I'm inclined to say that Microsoft made a deliberate choice to not show further stack frames once it runs across a DLL frame for which it has no debug information. There's nothing we can do about that.

0 Kudos
Reply