[comp.lang.rexx] Variable dump utilities?

DSB100@psuvm.psu.edu (David Barr) (01/29/91)

This seems like a simple thing, but I was wondering if there are any utilities
out there that will provide a complete memory dump of all variables.  I know
that I could probably write a subroutine and all, but the problem is that
my program is over 4000 lines long and has LOTS of variables, and many
arrays.  Is there such a beast?  Is it even possible to write such a beast?
And sorry, using trace r's don't quite give me all the necessary info, and
there is only so far a few well placed say statements will go.

---
 David Barr - Penn State CAC Student Consultant, Student Programmer
 DSB100@psuvm.psu.edu     | dsbarr@endor.cs.psu.edu
 barr@barrstl.scol.pa.us  |...psuvax1!hogbbs!barrstl!barr

richg@locus.com (Rich Greenberg) (01/31/91)

In article <91028.231227DSB100@psuvm.psu.edu> DSB100@psuvm.psu.edu (David Barr) writes:
>This seems like a simple thing, but I was wondering if there are any utilities
>out there that will provide a complete memory dump of all variables.  I know

There are some public domain programs that will do this.  I don't have any
but I remember some discussion on VMSHARE so If I were looking for such,
I would look at MEMO REXX on VMSHARE.  You can write it yourself.  You need
an assembly routine that does EXECCOMM calls, and just asks for the "next"
variable until there are no more.  The variables will be fed to you in
random order, so if you want to sort them, that is up to you.
You could also check with Dave Gomberg at UCSF in San Francisco.  I
don't have an internet address for him and I would rather not post his phone
without his ok.
                     Rich
p.s. The above is for Rexx on VM/CMS.  I can't speak for other platforms.

QQ11@LIVERPOOL.AC.UK (Alan Thew) (02/01/91)

In article <21658@oolong.la.locus.com>, richg@locus.com (Rich Greenberg) says:
>
....
>>This seems like a simple thing, but I was wondering if there are any
>utilities
>>out there that will provide a complete memory dump of all variables.  I know
>
>There are some public domain programs that will do this.  I don't have any
>but I remember some discussion on VMSHARE so If I were looking for such,

For CMS there is a REXXDUMP program which is fairly basic compared to some
of the language debuggers nowadays but it's free. It should be on a
BITNET LISTSERV somewhere...

Alternatively for CMS, use CMS PIPELINES where you can use the statement

'PIPE rexxvars|> myrexx dump a'

This gives a similar format to REXXDUMP but use of the CMS PIPELINES' filters
should allow some nice formatting. I use the PIPES method in many of my
programs and it's proved very helpful.

Alan Thew  : University of Liverpool Computer Laboratory
Bitnet/Earn: QQ11@LIVERPOOL.AC.UK or QQ11%UK.AC.LIVERPOOL @ UKACRL
    UUCP   :           ....!mcsun!ukc!liv!qq11
   Voice   :  +44 51 794 3735        FAX : +44 51 794 3759
Internet   : QQ11@LIVERPOOL.AC.UK or QQ11%LIVERPOOL.AC.UK @ NSFNET-RELAY.AC.UK

jwagner@phoenix.Princeton.EDU (John Wagner) (02/02/91)

In article <21658@oolong.la.locus.com>, richg@locus.com (Rich Greenberg) writes:
|> In article <91028.231227DSB100@psuvm.psu.edu> DSB100@psuvm.psu.edu (David Barr) writes:
|> >This seems like a simple thing, but I was wondering if there are any utilities
|> >out there that will provide a complete memory dump of all variables.  I know
|> 
|> There are some public domain programs that will do this.  I don't have any
|> but I remember some discussion on VMSHARE so If I were looking for such,
|> I would look at MEMO REXX on VMSHARE.  You can write it yourself.  You need
|> an assembly routine that does EXECCOMM calls, and just asks for the "next"
|> variable until there are no more.  The variables will be fed to you in
|> random order, so if you want to sort them, that is up to you.
|> You could also check with Dave Gomberg at UCSF in San Francisco.  I
|> don't have an internet address for him and I would rather not post his phone
|> without his ok.
|>                      Rich
|> p.s. The above is for Rexx on VM/CMS.  I can't speak for other platforms.

VM sites with PIPEs can get a list of the current variables (sorted in 
alphabetical order) with the following:

    address command 'PIPE rexxvars | drop 1 |' ,
       'pad 4|spec 3-* 1|join 1 /=/|sort|console'

You may want to change the destination.  It can go by on the console fairly
quickly.

    John