Dump

Started by Gilles, February 09, 2021, 08:34:38 AM

Previous topic - Next topic

Gilles

We have an error handler in wich we do a dump * to a file

! ****************************
! Level=3
! PGN="/usr2/piecepgm/SOUCON3"
!  Statement......1745
!  GO SUB.........0300

What does mean GO SUB .....0300 ?
There is no Gosub to line 300 in this program.

Another one :

! ********************************
! Level=2
! PGN="/usr2/piecepgm/DEMREFETAI"
!  Statement......1120
!  FOR............0670

What does mean the FOR .....0670?

Mike King

The GOSUB/FOR means that when the dump occurred there was an ACTIVE GOSUB or FOR on the program stack. 

The line numbers beside the GOSUB/FOR are where to return to: 


  • In the case of a GOSUB, when your logic does a RETURN, control will transfer to line 0300.
  • In the case of the FOR, when your logic executes the corresponding NEXT, if there are more iterations of the loop required control will resume at line 670.
Generally the return address will be either the same line where the GOSUB/FOR directive occurred or the line immediately following the directive should it be at the end of the line.

In your case, likely there is a GOSUB at the end of the line immediately before line 0300.  We do not record the line number of the GOSUB itself when it is at the end of line since it makes no sense to return the that line, but rather we record the next line.
Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com

Gilles

Thank you Mike, it's clearer now.