- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
integer arr(5)
arr(i) = i
print *,arr(i)
enddo
end
------------------
object file name: a.out
Reading symbolic information from /nrs/home/aha/a.out...done
(idb) r
1
2
3
4
5
6
7
8
9
10
Process has exited with status 0
(idb)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Compiling with -C option gives:
Reading symbolic information from /nrs/home/aha/a.out...done
(idb) r
1
2
3
4
5
forrtl: severe (408): fort: (2): Subscript #1 of the array ARR has value 6 which is greater than the upper bound of 5
Process has exited with status 152
It is a little bit better, but still the process exits and my expectation was that it would stop at line 5. I want to be able to check the values of certain variables and I can not do that when the process exits.
I am used to the Tru64 ladebug debugger. Output would be:
object file name: a.out
Reading symbolic information ...done
(ladebug) l
4 arr(i) = i
5 print *,arr(i)
6 enddo
7 end
8
(ladebug) r
1
2
3
4
5
Thread received signal TRAP
stopped at [subroutine main$tmp():4 0x120001b3c]
4 arr(i) = i
(ladebug) print i
6
(ladebug) print arr(i)
Bounds error for dimension 1
Subscript 6 is outside the bounds (1:5)
How do I get idb to do the same?
Arnold
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Everyone,
Intel compiler support's response:
"The Fortran run-time intercepts exceptions. It will provide more information if you compile with -traceback. It doesn't yet pass control to IDB before process exit. We've made a proposal for it to do this and waiting to get that approved for 10.0."
Thought I'd share it with you.
Just hope that 10.0 is released soon.
Arnold
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just set a breakpoint in the Intel RTL routine
which prints the message.
stop in for_emit_diagnostic
If you have compiled with -CB the debugger will take control
after detection of the error but before the program is
terminated, so you may examine your variables.
Keith
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page