[net.unix] DBX under 4.2BSD

woods@hao.UUCP (Greg Woods) (01/20/84)

  Well, the highly-touted new debugger is a piece of junk, at least the 
vanilla-flavored version we have on our 4.2 VAX 11/750 system. The "trace"
and "stop" commands do not work, or at least, not at the place you specify.
Has anyone else been successful using dbx(1) on f77(1) programs? Does
it work on C programs? Has anyone else noticed the same problem we have?
Are there bug fixes we haven't heard about yet? I can't wait until our
FORTRAN hackers find out that the debugger doesn't work. I forsee the
UNIX<-->VMS debate heating up again (shudder).

		    GREG
-- 
{ucbvax!hplabs | allegra!nbires | decvax!kpno | harpo!seismo | ihnp4!kpno}
       		        !hao!woods

gwyn%brl-vld@sri-unix.UUCP (01/21/84)

From:      Doug Gwyn (VLD/VMB) <gwyn@brl-vld>

To make matters even worse, "sdb" seems to have gone away.  I am again
resorting to "adb" on those rare occasions when I have use for a debugger.

pag@hao.UUCP (Peter Gross) (01/23/84)

sdb can be found in 4.2bsd under the directory /usr/src/old/sdb.

--peter

woods@hao.UUCP (01/30/84)

   I have discovered that my initial evaluation of the new DBX debugger was a 
bit harsh. Instead of saying "nothing works", I should say "the syntax is
strange, and some things don't work". I am performing some tests and when
I get done I will post a list of things that do and don't appear to work on
our version. I would appreciate comparisons from other sites. This is fairly
important to the FORTRAN hackers at our site (real C programmers use adb :-)
Some initial observations: Most of the trace commands do work, once you figure
out that a subroutine "suba" in file "suba.f" is traced by "trace suba.suba",
and that "trace suba" produces wierd results. Some of the stop commands do
work, but I haven't been able to get the "stop in routine if condition" to work
when "condition" was something simple like "a=0". One other oddity so far: like
every debugger originally written for C I've ever seen, it has problems with
FORTRAN common blocks. It also behaves radically differently if I initialize
values in common blocks with a data statement than if I initialize them with
an explicit assignment statement in the main program. In the first case, I
have code like:

      common /test/f,i
      data f,i/23.,5/

in my main program. I set a breakpoint in some subroutine containing this block.
When it hits the breakpoint, I do "whatis f", and I get an error message about
referencing a nil pointer. "whatis test" prints something like "&test=hex-addr"
Now, if I replace the data line with explicit assignments like

      f=23.
      i=5

and repeat the same, "whatis f" properly says "real f", but "whatis test"
causes the debugger to crash, again complaining about a nil pointer.
I will try and post more information tomorrow when I have more time.

	       Greg "FORTRAN hacker" Woods
-- 
{ucbvax!hplabs | allegra!nbires | decvax!kpno | harpo!seismo | ihnp4!kpno}
       		        !hao!woods