linton@ucbvax.UUCP (06/09/84)
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@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. Mark Linton Stanford University