[comp.unix.wizards] dbx question?

rr5@prism.gatech.EDU (R. Bruce Rakes) (08/08/89)

I have been perusing all the dbx documentation that I can get my hands on
looking for a means of printing the range of an array, i.e. I wish to print
only the values between a start and end index, NOT the entire array.  I
also do not wish to print each value one at a time.  As far as I can tell,
dbx only allows me these two options.  Now sdb allows this by separating
the start and end index with a semicolon.  Does anyone know of an equivalent
for dbx?  This seems to be its major deficiency.


-- 
R. BRUCE RAKES
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:     ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!rr5
Internet: rr5@prism.gatech.edu

hsiegel%piano.prime.com@relay.cs.net (Howard Siegel 4-2390 x4064) (08/09/89)

R. Bruce Rakes <rr5@prism.gatech.edu> asked (8 Aug 89 14:29:59 GMT):
> I have been perusing all the dbx documentation that I can get my
> hands on looking for a means of printing the range of an array, i.e.
> I wish to print only the values between a start and end index, NOT
> the entire array.  I also do not wish to print each value one at a
> time.  As far as I can tell, dbx only allows me these two options.
> Now sdb allows this by separating the start and end index with a
> semicolon.  Does anyone know of an equivalent for dbx?  This seems
> to be its major deficiency.

I use the following aliases in my .dbxinit to dump <2nd arg> values
from the start of the C array named <1st arg>.
   alias F "&(\!1[0])/\!2 F"
   alias D "&(\!1[0])/\!2 D"
   alias X "&(\!1[0])/\!2 X"
For Fortran arrays the [0] would need to be replaced by [1].  A fairly
obvious minor kind of modification would be to write (for instance)
   alias X "&(\!1[\!2])/\!3 X"
to dump the <3rd arg> values from offset <2nd arg> in array <1st arg>.
I've used the first three aliases; the third is just speculation.

Howard Siegel                   hsiegel@piano.prime.com
Prime/Computervision            hsiegel@primerd.prime.com
Bedford, Mass.                  hsiegel%piano.prime.com@RELAY.CS.NET
(617) 275-1800 x4064            cvbnet!hsiegel@primerd.prime.com

envbvs@epb2.lbl.gov (Brian V. Smith) (08/10/89)

< R. Bruce Rakes <rr5@prism.gatech.edu> asked (8 Aug 89 14:29:59 GMT):
< > I have been perusing all the dbx documentation that I can get my
< > hands on looking for a means of printing the range of an array, i.e.
< > I wish to print only the values between a start and end index, NOT
< > the entire array.  I also do not wish to print each value one at a
< > time.  As far as I can tell, dbx only allows me these two options.
< > Now sdb allows this by separating the start and end index with a
< > semicolon.  Does anyone know of an equivalent for dbx?  This seems
< > to be its major deficiency.
< 
< I use the following aliases in my .dbxinit to dump <2nd arg> values
< from the start of the C array named <1st arg>.
<    alias F "&(\!1[0])/\!2 F"
<    alias D "&(\!1[0])/\!2 D"
<    alias X "&(\!1[0])/\!2 X"
< For Fortran arrays the [0] would need to be replaced by [1].  A fairly
< obvious minor kind of modification would be to write (for instance)
<    alias X "&(\!1[\!2])/\!3 X"
< to dump the <3rd arg> values from offset <2nd arg> in array <1st arg>.
< I've used the first three aliases; the third is just speculation.

I don't understand the command '&' that the alias uses.  NOR DOES DBX!

Please excuse me if I am missing something very basic, but I put these
aliases in my .dbxinit and when I typed:

(dbx) F(aray,3)

I got from dbx:

&((!1[0])//!2 F(aray,3)
^ unrecognized command

(dbx)

Yes, I did include the '\' in the definition.
This was attempted in Ultrix and SunOs 4.0.

_____________________________________
Brian V. Smith    (bvsmith@lbl.gov)
Lawrence Berkeley Laboratory
We don't need no signatures!