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

Stack trace terminated abnormally?

croucher
Débutant
1 909 Visites

In my release version, I get an access violation but instead of any stack I get 'Stack trace terminated abnormally'. How do I fix the stack trace so I can find the problem?

Including a couple extra flags I turned on trying to improve feedback (which didn't affect behavior) my compile command is:

/nologo /Zi /Ob0 /G5 /QaxT /assume:buffered_io /include:"Release/" /debug-parameters:all /iface:cvf /module:"Release/" /object:"Release/" /traceback /check:all /libs:qwin /c

The debug version runs correctly on the test case using:

/nologo /Zi /Od /include:"Debug/" /warn:all /debug-parameters:all /Qauto /fpe:0 /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:qwin /c

It isn't my code andthere are 865 files of F77 full of COMMON and EQUIVALENCE, so manual methods probably aren't an option.

Thanks,

Art

0 Compliments
4 Réponses
g_f_thomas
Débutant
1 909 Visites

Stack tracing isn't guaranteed to succeed or to reveal anything useful.

In switching configurations make sure that frame pointers stay on. You

know that you can debug a release configuration?

Gerry

0 Compliments
Lorri_M_Intel
Employé
1 909 Visites

I notice that you don't have the same switches between the DEBUG and RELEASE versions,
most notably Qauto and fpe:0 (missing in the release) but that the release version has
assume:buffered_io.

What happens if they all match?

- Lorri

0 Compliments
croucher
Débutant
1 909 Visites

Do you mean I'm barking up the wrong tree by trying to 'fix' the stack trace, and that Ineed togo print out the IDB manual if I want to get useful information?

I'm sure you can debug the release version, but I was hoping not to get that far from my comfort zone. Oh well, how different can it be from the Matlab debugger ;-)

Thanks,

Art

0 Compliments
g_f_thomas
Débutant
1 909 Visites

You can't 'fix' a track trace that you never got. The pros and pitfalls of traceback are very clearly and succinctly explained in the IVF .chm help (specifically, Tradeoffs and Restrictions in Using Traceback). An access violation is the kiss of death for a Windows app and it might be tricky to pinpoint the cause. Use the MS debugger (NOT idb) to debug by setting Fortran debug to Full and the linker debug to Yes no matter what the version. Debug F5 and continue until your program fails. You still wont get a traceback but you'll now have some idea as to where your program bombed. It's reallysimple, honestly.

Gerry

0 Compliments
Répondre