Newsgroups: comp.lang.apl
Path: watmath!watserv2.uwaterloo.ca!watserv1!FZC@CU.NIH.GOV
From: "Message Center" <FZC@CU.NIH.GOV>
Subject:  Information about Debugger for APL*PLUS (Jim Weigang)
Message-ID: <Btr9JE.Gs3@watserv1.uwaterloo.ca>
Sender: root@watserv1.uwaterloo.ca
Reply-To: tdarcos@mcimail.com
Organization: University of Waterloo
Date: Sat, 29 Aug 1992 17:19:59 GMT

The following is a copy of two messages by the author of a debugging
package for APL*PLUS programs to the sysop of the BBS\APL Computer
Bulletin Board.  The messages are about the author's package.
The program was uploaded to  BBS\APL  which may be called
at +1 301 384 3672.

If some of you have a problem calling this system or cannot
download the file, send a message to me at TDARCOS@MCIMAIL and
I will send a copy out via UUENCODE.  If, in 30 days I get more
than 6 requests, I'll send it to Comp.lang.apl instead.

Paul Robinson
TDARCOS@MCIMAIL.COM
-----
       To:  DICK HOLT                    From:  JIM WEIGANG
Submitted:  Thu 8/20/92 - 01:15       Subject:  StepView Uploaded

I uploaded file STEPVU14.ZIP.  After slogging my way through 400K of
messages and directories last night, I discovered that you already
have an old copy of StepView on the system, in file STEPVIEW.ZIP.
This was the version offered at APL91.  The new file is the latest
version, number 1.4.  I suggest renaming the old file STEPVU10.ZIP
(or erasing it), and renaming the new file STEPVIEW.ZIP.  The
debugger runs under the APL*PLUS /PC and APL*PLUS II /386 systems.
I find it to be a very handy tool for checking new programs for
correctness.  Comments are welcome.  I can be reached at the address
given in the documentation, and via e-mail as JimW@Math.UMass.Edu.
Thanks for the opportunity to distribute the debugger.

                                               Jim

-----
       To:  DICK HOLT                  From:  JIM WEIGANG
Submitted:  Thu 8/20/92 - 14:05     Subject:  StepView Description

StepView is a debugger for the APL*PLUS /PC and APL*PLUS II /386
systems.  It displays your program on the screen and allows you to step
through it, line by line.  Once you've initialized the debugger in your
workspace, using either )COPY or a ]DEBUG user command, using StepView
is a snap--just type the statement that runs your program and press a
function key.  No modifications to your code are required.  StepView
splits the screen and displays your program (along with the state
indicator) in the top half of the screen.  The lower part of the screen
is used for program I/O and APL statements.  There are no restrictions
on what statements you can execute; you're always in immediate execution
mode with your program halted on a STOP.  You can modify your function
with the editor, then continue execution without having to start over.
Function keys are provided to:

   - step into (debug) subroutines used on the current line,
     or step over them
   - step out of the suspended function (quit debugging it)
   - edit the suspended function (starting at the current line)
   - copy the current line into the scrolling space so you
     can execute parts of it
   - refresh or remove the function listing
   - scroll the program listing
   - display a summary of the function keys

When you're done debugging, a single command will erase the debugger,
turn off all stops and traces, and restore your original function key
definitions.

The debugger is particularly useful when you are first writing a
program.   You can step through the code, checking variables as you go,
and catch errors before they turn into mysterious downstream
consequences.  It's great for novices, who may have a hard time figuring
out why a program has run amok.

To be honest, though, the debugger isn't perfect.  Because it's an
ordinary APL program and not something built into the interpreter, there
are limitations to what it can do.  You can't use it to debug programs
in graphics mode, and it has trouble with screen-oriented programs.
Would that I could use it to debug itself!  But for those computational
programs, the kind that mainframe applications used to consist of
entirely, the debugger works quite well.  And for the price, it can't be
beat.

The author welcomes comments and suggestions.  He can be reached at the
address given in the documentation or via e-mail as JimW@Math.UMass.Edu.



