Silverfrost Forums

Welcome to our forums

Couple issues with SDBG64

10 Apr 2021 8:26 #27476
  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

  1. 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

    a=3.5481e26 b=1.60218e-12 c=3.34e-24 d=sqrt(2ab/c) end

    or even simpler

    a=2.e22 b=2.e-22 c=a/b end

32 bit works ok

  1. 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

a=1.222
  do i=1, 1000000000
    a=alog(exp(a))
  enddo
  print*, a
end
  1. 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

  2. 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 !

12 Apr 2021 12:06 #27500

Dan,

I used ftn95 8.70.0 to compile the second program listed in 2) with command

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

12 Apr 2021 12:42 #27502

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

13 Apr 2021 11:29 #27515

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

real*8, dimension(:), allocatable :: PeakEnergy

A=1.1
DO I=1,11
PeakEnergy(i)=ALOG(EXP(A))
print*,i
ENDDO
end
15 Apr 2021 2:03 #27541

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.

15 Apr 2021 3:31 #27544

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.

20 Apr 2021 8:59 #27580

Quoted from John-Silver 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.

23 Apr 2021 4:14 #27616

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

23 Apr 2021 4:21 #27617

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.

20 May 2021 4:44 #27813

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 ?

a=1.1111
Do i=1,1234567890
a=log(exp(a))
enddo
print*,a
pause
end 
20 May 2021 6:06 #27816

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.

20 May 2021 6:51 #27821

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

20 May 2021 10:52 #27822

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'

21 May 2021 12:00 #27828

Press the pause button to stop your program.

21 May 2021 12:57 #27829

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).

  1. 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

21 May 2021 7:10 #27833

Robert, What is pause button? There is no additional small dialog window where i remember was something like that. What i am saying above is that there is either the bug or the default behavior of debugger was changed as now to stop (pause) the run during the execution and fall into debugger i need to push Alt+X which in previous versions was used only to close debugger

Dietmar, Exactly what i meant

25 May 2021 8:22 #27849

For ftn95 version 7.10 after pressing F6 in the debug session with sdbg after some time a dialog window (with titlebar 'Waiting' ) is displayed. This dialog window contains a push button with text 'pause' and the text 'The application being debugged is running. Control will return to the debugger when either a breakpoint or error occurs.'

I thought this was exactly what Dan requested with

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 .

Unfortunately I do **not **see this dialog window for ftn95 environment 8.73 (32 bit case) and for ftn95 environment 8.10 (32 bit case which I checked this morning).

Regards Dietmar

25 May 2021 8:52 #27852

Yes, this is what new SDBG is missing. If company decided to interrupt the run different way - this has to be clear in the menu

For example i can interrupt my programs with 1) Hot key 2) menu Run-Pause-Continue-Stop 3) Radiobutton 4) Similar little window like older debugger. All are convenient for different situations, and often you need to act quick. In earlier versions of Clearwin only 4th option was rock solid and always interrupted any code even if it froze. Currently i see all 4 work OK

8 Jun 2021 2:47 #27906

I think Alt+X is still not functioning like it was with 32bits. After you hit Alt+X SDBG closes debugged file but does not exit

9 Jun 2021 2:33 #27924

...and there still no way to stop the run in the middle and get into debugger - no appropriate window to pause run

Please login to reply.