Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site ucbvax.UUCP
Subject: updates for dbx (4.2 debugger)
Date: Fri, 8-Jun-84 20:01:57 EDT
Posted: Fri Jun 8 20:01:57 1984
Date-Received: Tue, 12-Jun-84 00:11:49 EDT
Organization: U.C. Berkeley
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
- 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:
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.
Same as "up", except moving in the opposite direction.
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@shasta" on the ARPANET,
or "Shasta!linton" via UUCP. The addresses "linton@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.