I am trying to debug a F90 program which contains partially preprocessed Fortran 90 code (-Mpreprocess).
My compile flags include: -byteswapio -Minfo -Mbackslash -C -Ktrap …
Linking with: -Bstatic -Mlfs …
I am still using 7.0-7 pgf90 and pgdbg due to bugs in newer versions
I get a FPE and the debugger tells me where, e.g.
#3 run_fluxs_flx line: “/project/artemis/flux/source/flx_class.f90”@4452 address: 0x855348c
self = 0x1d30ffc0, lcycl = 6, converged = .FALSE., unit = 6
=> #2 fluxs_ address: 0x862aa9e
#1 rebals_ address: 0x865902c
#0 rebs_ address: 0x865d31e
So far, so good.
But pgdbg only shows assembler code for fluxs_, rebals_, and rebs_, no sources. These three sources were all preprocessed.
I can select fluxs.f90 in the source tab and the source is correctly shown. But now I can not set any breakpoints there, e.g. in fluxs.f90
And when I try to switch from disassemble to source, I get
pgdbg> Call level:1 rebals_ address: 0x865902c
ERROR: No current source file.
It seems the preprocessed sources are not available.
How do I access those preprocessed sources in the debugger so I can set breakpoints ?
Do I need additional flags? Are the preprocessed sources written to scratch and thus not available for debugging?
Any ideas would be appreciated.