gfxgfx
 
Please login or register.

Login with username, password and session length
 
gfx gfx
gfx
1568 Posts in 518 Topics by 754 Members - Latest Member: irekzawadzki December 03, 2021, 07:50:24 AM
*
gfx* Home | Help | Search | Login | Register | gfx
gfx
Absoft User Forum  |  Support  |  Windows  |  AWE application debugger standard output
gfx
gfxgfx
 

Author Topic: AWE application debugger standard output  (Read 68 times)

irekzawadzki

  • Newbie
  • *
  • Posts: 1
AWE application debugger standard output
« on: November 17, 2021, 04:41:06 PM »
I have a Fortran code that contains multiple "type *" and "write" statements.  I can run it either as a Terminal or AWE application.

When I run Absoft debugger of my Terminal application, all output from the type and write statements is immediately visible in Windows console window.  However, when I run debugger for the AWE version, the output seems to be buffered and it only shows up in the AWE window when my code encounters either "pause" or "read" from standard I/O statement.  Placing breakpoints does not help.

Consider the following code as an example:

1         type *, 'var1,2,3 = ',var1,var2,var3
2         type *, 'var4,5,6 = ',var4,var5,var6
3         TYPE *, 'Enter filename'
4         READ 110, NCH, FNAME
5 110   FORMAT (Q, A)
6          I = I + 1

If I place breakpoints in line 2,3 & 4 the printouts from lines 1 through 3 will not appear in my AWE GUI window until I reach breakpoint in line 4 and click continue.

Is there any setting in Absoft debugger I to force flushing the output buffer as soon as the line of code is executed?

forumadmin

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
Re: AWE application debugger standard output
« Reply #1 on: November 18, 2021, 10:07:29 AM »
There is no setting in the Fx3 debugger that will automatically flush the output written to a AWE window. The debugger does not have any specific knowledge of AWE programs. However, there is a set of commands you can use in the debugger to flush AWE output when a program is stopped at a breakpoint:


  • Run the program until it stops at breakpoint in the Fortran source code.
  • In the debugger's Threads window, find the thread for the Fortran program. When the program is stopped at a breakpoint in your source code, you will see the routine name, source file and line number listed next to the thread ID for the Fortran thread.
  • Right click on this Fortran thread in the Threads window to display a context menu and choose "Freeze N", where N is the number that matches the thread ID for the Fortran thread.
  • With the Fortran thread frozen, click the Continue button or use the Debug menu->Continue command to resume execution of all of the other threads. This Continue operation will flush any output to the AWE window(s).
  • Stop the other threads by clicking the Stop button two times or using the Debug menu->Stop command two times. You must do this stop operation two times to regain control of all the running threads.  The second Stop operation will open the debugger's Assembly window and display few lines of disassembled code. You can ignore this, it is not significant.
  • Back in the Threads window, find the Fortran thread again (the word "frozen" will appear next to its thread id), right click to get the context menu, and choose either the Thaw N or Thaw All command.


The result of all this is that the program remains stopped at the breakpoint but all of the output destined for  AWE window(s) has been flushed.


Absoft User Forum  |  Support  |  Windows  |  AWE application debugger standard output
 

gfxgfx
gfx gfx
Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!