updates for dbx (4.2 debugger)

linton at ucbvax.UUCP linton at ucbvax.UUCP
Sat Jun 9 07:01:55 AEST 1984

From: linton (Mark Linton)
I have sent a collection of bug fixes and enhancements for the
4.2BSD debugger "dbx" to net.sources.  These modifications are
in the form of a csh script that runs ex on the various source
files and changes them appropriately.  It was generated by doing
a "diff" on the new version of dbx and the version distributed with 4.2.
An updated manual page entry has also been sent to net.sources
as a separate message.

To install the changes, you should do the following:

    (1) Create a directory for the new version of dbx and copy
	into it the original 4.2 dbx source.
    (2) Save the update script into a file in the directory, editting
	out the header and changing all lines consisting of "\." to ".".
	Backslashes were added to get the script through certain mailers
	that interpret such lines as an end-of-message.
    (3) Make the update script executable and run it.
    (4) Now use "make" to create a new executable dbx.

In addition to the dbx source changes, I have created a small collection
of test cases for Modula-2 and C.  These have also been sent to net.sources
in csh script form.  The script also creates a makefile that drives
the testing with comparisons done against expected output.

The major effort has been to add support into dbx for Modula-2
in conjunction with the compiler developed at DEC Western Research Lab.
As a side effect, many problems handling C programs have also been
fixed, including

     -	the "call" command
     -	using floats
     -	declarations within blocks
     -	many (not so) subtle problems with signals
	(e.g., the sleep infinite loop)
     -	printing bit fields less than a byte long that cross a byte boundary
     -  handling read-only strings (cc -R)

The following commands have been added:
    up [count]
	Moves the current function count levels up the procedure activation
	chain.  The default count is 1.  Since the current function is used
	to resolve names, using "up" changes the current scope.  This is
	sometimes more convenient than using the "func" command, and
	works with recursive calls whereas "func" doesn't.

    down [count]
	Same as "up", except moving in the opposite direction.

    return [procedure]
	Continues until a return to the given procedure is executed,
	or if none is specified it continues until a return from the
	current procedure is executed.

    rerun [args] [< file] [> file]
	Same as the original "run" command in that if no arguments are
	specified it uses the previous argument list.  The "run" command
	has been changed to always reset the argument list.

The following minor changes have been made:

     -	the "delete" command now takes a list of events, as in "delete 1 2 3"
     -	the root scope is now referred to as "." rather than using the
	name of the object file

Unfortunately, support for Pascal has not yet been added and problems
with FORTRAN support have not been attacked.

Problems, comments, and questions to me at "linton at shasta" on the ARPANET,
or "Shasta!linton" via UUCP.  The addresses "linton at berkeley" and
"ucbvax!linton" also work.  The "gripe" command within dbx also sends
to me.  Mail systems permitting, I reply to mail about dbx, but I do not
guarantee that I will have time to fix bugs.

	Mark Linton
	Stanford University

More information about the Comp.lang.c mailing list