View previous topic :: View next topic |
Author |
Message |
Moji
Joined: 30 Sep 2020 Posts: 27
|
Posted: Thu Feb 25, 2021 6:00 pm Post subject: Bug report in sdbg64 (version 8.70) |
|
|
Hello,
There is a bug in sdbg64 (version 8.70), that I want to report.
I compiled the below code as a 64-bit program:
Code: |
program Test_sdbg64
Implicit None
Character (LEN=24), External :: func
Character (LEN=40) :: res
Character (LEN= 1) :: lan
lan = 'E'
res = ' ' // func (lan)
write(*,*) res
end program
Function func (spr)
Implicit None
Character (LEN=24) :: func
Character (LEN= 1) :: spr
if (INDEX('Ee',spr) == 0) then ! 64-bit Debugger doesn't work
! if (.FALSE.) then ! 64-bit Debugger works
func = 'Case A '
else
func = 'Case B '
end if
end
|
When I open the 64-bit executable with the debugger and step into the func function, the curser goes directly to the end statement and it is not possible to put a breakpoint before that to follow the process.
However, when I switch between the if statements, i.e.:
Code: |
! if (INDEX('Ee',spr) == 0) then ! 64-bit Debugger doesn't work
if (.FALSE.) then ! 64-bit Debugger works
|
the debugger behaves normal.
This is not the case with 32-bit version and the debugger starts from the start point of the fuction, as I step into it. |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1896
|
Posted: Thu Feb 25, 2021 6:13 pm Post subject: |
|
|
Perhaps you are using different DLLs than the ones that I have?
I compiled with /64 /debug and was able to step through as well as place a breakpoint on line-20. Everything looked normal! |
|
Back to top |
|
|
Robert
Joined: 29 Nov 2006 Posts: 450 Location: Manchester
|
Posted: Thu Feb 25, 2021 11:18 pm Post subject: |
|
|
Ensure you are using FTN95 8.70. Whether a line can be breakpointed is something the compiler determines (not sdbg64). |
|
Back to top |
|
|
Moji
Joined: 30 Sep 2020 Posts: 27
|
Posted: Fri Feb 26, 2021 8:36 am Post subject: |
|
|
I am using ftn95 version 8.70.393 and the silverfrost dlls are from 04.01.2021. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8016 Location: Salford, UK
|
Posted: Fri Feb 26, 2021 2:35 pm Post subject: |
|
|
Moji
Your sample works OK for me. If/when possible I will send you an updated FTN95. |
|
Back to top |
|
|
Moji
Joined: 30 Sep 2020 Posts: 27
|
Posted: Fri Feb 26, 2021 2:40 pm Post subject: |
|
|
Thank you Paul. Sure, that would be great. |
|
Back to top |
|
|
Thomas
Joined: 18 Feb 2005 Posts: 56 Location: Gummersbach, Germany
|
Posted: Thu Apr 22, 2021 3:29 pm Post subject: New information on FTN95 options |
|
|
Moji asked me for assistance and we detected the reason for different behaviour:
a) If compiled with
ftn95 /64 /debug
it works.
b) If compiled with
ftn95 /64 /debug /check
the problem occurs. _________________ Thomas |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8016 Location: Salford, UK
|
Posted: Thu Apr 22, 2021 4:09 pm Post subject: |
|
|
OK thanks. I will take another look at it. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8016 Location: Salford, UK
|
Posted: Mon May 10, 2021 9:43 am Post subject: |
|
|
This turned out to be a failure in FTN95. It has now been fixed for the next release of FTN95. |
|
Back to top |
|
|
Moji
Joined: 30 Sep 2020 Posts: 27
|
Posted: Wed May 19, 2021 11:37 am Post subject: |
|
|
Paul,
I tested it again (with the new compiler and the new slink64). The Problem is still there and the debugger jumps directly to the last line of the function. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8016 Location: Salford, UK
|
Posted: Wed May 19, 2021 12:10 pm Post subject: |
|
|
Moji
Sorry about that. I will refer this back for further investigation.
I thought that I had tested this but maybe I did not add /check. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8016 Location: Salford, UK
|
Posted: Tue Jun 01, 2021 8:12 am Post subject: |
|
|
Hopefully this will now be fixed in the next release of FTN95.
I have tested the latest fix using first /CHECK and then /DEBUG. |
|
Back to top |
|
|
|