View previous topic :: View next topic |
Author |
Message |
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Sat Apr 10, 2021 9:26 pm Post subject: Couple issues with SDBG64 |
|
|
1) Alt+X key combination does not work in SDBG64. I have to click Exit with the menu using mouse. Was this short cut removed or i have to restart my overloaded bitten up computer ?
32 bit works OK
2) Also 64 bit debugger does not identify the error, just telling about exception and you scratch the head what the problem is. Getting word Exception scares you to hell, you always think that we got unknown internal compiler error like in earlier versions and this is the end of the life
Code: |
a=3.5481e26
b=1.60218e-12
c=3.34e-24
d=sqrt(2*a*b/c)
end
or even simpler
a=2.e22
b=2.e-22
c=a/b
end |
32 bit works ok
3) Typical Fortran users are super lazy kinds of animals. They always wait somebody else report the problems with the compiler or procrastinate to send any their suggestions for improvement.
They also almost never use modern ways of debug the code. As a results such excellent tools like SDBG/SDBG64 may have no new features for years, or having sometimes even minor or major bugs not fixed for a long time. If i were a FTN95 developer i'd only allow to use the compiler for one month and then allow it to use for free for personal use only for those who made at least 3 suggestions for its improvement or reported 3 bugs. Otherwise i do not see how any smaller company can survive without tight group of devoted fans who care.
This preamble was to say that i'm still kind of surprised but i can not find now how to stop the run and return to the debugger during the execution. The appropriate window existed before for that is missing, or something is wrong with my computer or eyes. Here is the simple code, please try to abort execution in the middle of the run and see what is going on in the debugger
Code: | a=1.222
do i=1, 1000000000
a=alog(exp(a))
enddo
print*, a
end |
4) Horizontal scroll bar is missing. Somehow the text permanently slips to the right. I already learned that to return it back you need to use left arrow but others may spend a lot of time to find that
5) If you try to use (zeroise for example) the array which was not allocated you get crash with confusing error message "Reference through NULL Fortran POINTER" instead of just message that the array was not allocated. Adding to confusion is also the use of CaPitAl LeTTers
Even being the user of this compiler for many decades i really afraid its punishing and too formal and elitist style of error messages. All error messages have to be explanatory and novices-friendly ! |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Mon Apr 12, 2021 1:06 pm Post subject: |
|
|
Dan,
I used ftn95 8.70.0 to compile the second program listed in 2) with command
Code: | ftn95 sample_sdbg64.for /64 /link /debug |
. In my environment ALT+x worked and the exception dialog displayed the file name and the line number (which is 3). Version number of both clearwin64.dll and salflibc64.dll is 23.1.18.7 . This corresponds to the behaviour of the 32 bit version.
However, you need to enter the lower case x to exit the debugger. Typing ALT+SHIFT+x does not work (also corresponding to the 32 version).
What I wonder about is why the look and feel of the 32 bit is different to that of the 64 bit debugger: entereing ALT+x to the 32 bit version of the debugger results in a confirmation dialog for exit whereas it exits without a confirmation dialog for the 64 bit version.
Moreover entereing F6 to the debugger displays the information string "Floating point overflow" for the 32 bit version and "Error: Exception: ..." for the 64 bit version.
Regards,
Dietmar |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Mon Apr 12, 2021 1:42 pm Post subject: |
|
|
Concerning 3: I could stop the debugger via ALT+x for both the 64 bit and the 32 bit version of the debugger. But I am not sure: for the 32 bit version ALT+x did not always work at the first time, I needed to press ALT+x twice in most cases. Moreover, I missed the information that the program was running after having pressed ALT+x . For the 32 bit version I could type F6 (to start the executable) and then ALT+c displayed the "Call Stack/Status" window displaying the line "Status: Programm Running." The same happened for the 64 bit version of the debugger except of the information string displayed (which was "Status: Running").
Concerning 4: yes, there is no scrollbar in the 64 bit version of the debugger.
Concerning 5: I did not find the array in your code samples (or did I miss it??)
Regards,
Dietmar |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Tue Apr 13, 2021 12:29 pm Post subject: |
|
|
Dietmar, Thanks for confirming these issues.
As to the last case 5 i did not supply the code. When i made a small reproducer though i got different error message "Access Violation writing address xxxxxxxx", which is also bad diagnostics, though different from what i wrote in first post. Need to find right reproducer
Code: | real*8, dimension(:), allocatable :: PeakEnergy
A=1.1
DO I=1,11
PeakEnergy(i)=ALOG(EXP(A))
print*,i
ENDDO
end |
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8012 Location: Salford, UK
|
Posted: Thu Apr 15, 2021 3:03 pm Post subject: |
|
|
The problem with SDBG64 and Alt+X only occurs when using the latest download of the ClearWin+ library (from the sticky post).
The failure has now been fixed and I plan to provide new DLLs before the end of the day. |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1896
|
Posted: Thu Apr 15, 2021 4:31 pm Post subject: |
|
|
I noticed some similar/related issues with SDBG64.
F2 works but F3 does not (related to breakpoints).
Pressing Ctrl-F (for locating a subprogram by name) does not work, but using the corresponding pull-down menu item does. After the desired name has been chosen, pressing the Enter key does not work, the mouse has to be used. |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1896
|
Posted: Tue Apr 20, 2021 9:59 am Post subject: Re: |
|
|
John-Silver wrote: | Dan, and mecej4
are your comments on this post related to the 'new beta' v3 (which I've just discovered exists) or an earlier version ? |
I think that you are confusing the new beta V3 of SLINK64 with SDBG64.
The bugs that I noted in SDBG64 went away when I installed the latest version of the DLLs. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Fri Apr 23, 2021 5:14 pm Post subject: |
|
|
John,
I had no time to look at the updates since then and do not know if all 5 were fixed.
"Access violations" means that Silverfrost need to synchronize 64bit with 32bits compiler and debugger respect to last few not covered diagnostics. Pity they are not just some rare tricky errors but surprisingly the most important sometimes |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Fri Apr 23, 2021 5:21 pm Post subject: |
|
|
John,
I think users and company have to introduce the competition for the title of best "Compiler Code Validator of the Year" with some small prizes. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Thu May 20, 2021 5:44 am Post subject: |
|
|
Paul,
How about other mentioned issues besides Alt+X mentioned above ?
Major is - was SDBG/SDBG64 default behavior changed recently? Or this is a bug?
How to stop in debugger this for example program during its execution to its current variables ?
Code: | a=1.1111
Do i=1,1234567890
a=log(exp(a))
enddo
print*,a
pause
end |
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8012 Location: Salford, UK
|
Posted: Thu May 20, 2021 7:06 am Post subject: |
|
|
Dan
Alt+X should work now. If not then please let me know.
I tried your latest sample and I can't see any problems. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Thu May 20, 2021 7:51 pm Post subject: |
|
|
How you interrupted the run ? There is no small window which was present during the run the only purpose of which was to interrupt the run and get into debugger
Yes, Alt+X works |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2864 Location: South Pole, Antarctica
|
Posted: Thu May 20, 2021 11:52 pm Post subject: |
|
|
Oh, Alt+X behavior was changed? Alt+X closed debugger in the past. Now what in the past special small window was doing (interrupting the run) the Alt+X is doing? THIS SHOULD BE mentioned in the menu!!! Menu only says
"Alt+X - EXIT" |
|
Back to top |
|
|
Robert
Joined: 29 Nov 2006 Posts: 450 Location: Manchester
|
Posted: Fri May 21, 2021 1:00 pm Post subject: |
|
|
Press the pause button to stop your program. |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Fri May 21, 2021 1:57 pm Post subject: |
|
|
In my environment the look and feel and functionality of the debugger is different with respect to the compiler version and the property, if generating a 32 bit or a 64 bit version.
1. ftn95 version 7.10
Create and debug Dan's executable with ftn95 version 7.10, start the debugging session e.g. via F6 (continue); then after some time a dialog window with titlebar "Waiting" is shown and you may pass control back to the debugger by pressing the pause button of the dialog; this dialog does not appear when doing the same for ftn95 version 8.73 (in case of the 64 bit and the 32 bit situation).
2. ftn95 version 8.73
Building and debugging Dan's 32 bit executable with ftn95 version 8.73, then starting it via F6 and pressing ALT-X results in a dialog window with titlebar "Confirm Exit" with two buttons "Exit" and "Cancel". This dialog does not occur in the same situation if Dan's executable is built as a 64 bit executable and via ftn95 version 8.73; the debugger stops without showing this dialog.
I suggest that if builiding and debugging with ftn95 version 8.73, the dialogs missing should be displayed, as well, as is the case for ftn95 version 7.10.
Regards,
Dietmar |
|
Back to top |
|
|
|