Commit | Line | Data |
---|---|---|
ffb13683 KB |
1 | Dbx is a descendant of pdx, a debugger that I wrote to work with |
2 | Berkeley Pascal as my master's project at Berkeley. Pdx was released | |
3 | in the fall of 1981. While pdx was being completed, a version with | |
4 | different machine, process, and runtime modules was developed to run | |
5 | on VAX compiled code. | |
6 | ||
7 | In the spring of '82, the use of the string table for storing type encodings | |
8 | was designed and the VAX C compiler was modified to generate the new | |
9 | symbol information. In the fall of '82, the modifications to the C compiler | |
10 | and a new version of the debugger, by now named dbx, were installed locally | |
11 | at Berkeley. In early '83, dbx was installed on the 4.1c release of | |
12 | Berkeley UNIX. | |
13 | ||
14 | In the spring of '83, Alistair Fyfe, a graduate student at Berkeley, | |
15 | modified dbx and the f77 compiler to enable dbx to debug FORTRAN programs. | |
16 | During this time, dbx was also ported to the Sun. | |
17 | ||
18 | In the fall of '83, dbx was released with 4.2. During that winter and | |
19 | the spring of '84, dbx was extended to work with Modula-2 in conjunction | |
20 | with the development of the Modula-2 compiler at DEC Western Research Lab. | |
21 | In June of '84, a collection of updates reflected the current status | |
22 | of dbx, including bug fixes and support for Modula-2, was sent to net.sources. | |
23 | ||
24 | Below are some short notes on versions that have been installed since then. | |
25 | ||
26 | Mark Linton | |
27 | ||
28 | ||
29 | 6/1 2.0 release to net.sources | |
30 | ||
31 | internal releases | |
32 | 7/2 2.5 rewrote name resolution, particularly for procedure nesting | |
33 | 7/17 2.6 single stepping through certain kinds of loops, | |
34 | tracing through code compiled for profiling | |
35 | support for Pascal installed on the side but not tested | |
36 | (nor is the associated support in pc) | |
37 | 7/19 2.7 open arrays | |
38 | 7/31 2.8 print <proc>, qualified names in backtrace, | |
39 | curevent to avoid some "missing trids", | |
40 | 8/1 2.9 increased maximum number of arguments from 100 to 1000, | |
41 | increased maximum line size to 1024 to 10240 | |
42 | 8/23 2.10 support for Pascal and test cases for modified pc, | |
43 | code for -k (kernel debugging) added but not debugged, | |
44 | qualified names in traces | |
45 | no longer fatal to not link with -g -- assumes first global | |
46 | is equivalent to -lg | |
47 | better resolution of externals | |
48 | reports when a core image is being used | |
49 | 8/25 2.11 fixed some problems with Pascal, e.g., enumerations, | |
50 | increased maximum number of functions from 1001 to 4001, | |
51 | fixed a nasty bug for C (and elsewhere?) having to do | |
52 | with processing types for "known" global variables, | |
53 | changed the syntax/semantics of "print x" where x is | |
54 | a function so that it no longer tries to call it -- | |
55 | "print x()" must be used instead | |
56 | added/fixed syntax for type renaming so that term's can | |
57 | be renamed | |
58 | 8/26 2.12 fixed problem with multiple imports (EXTREF's), | |
59 | added dynamic name lookup if static lookup fails before picking | |
60 | at random | |
61 | 8/27 2.13 fixed problem in dynamic lookup that caused an infinite loop, | |
62 | if it picks one at random it now prints a message specifying | |
63 | the fully qualified name of the symbol that was picked | |
64 | 8/27 2.15 first attack at fixing problem with type renames (loopholes) | |
65 | 9/16 2.16 major attempt to fix loopholes by revising node representation | |
66 | and command grammar -- basic need was to make more sense | |
67 | out of when to do indirection | |
68 | changed identifier resolution in object and stabstring so | |
69 | that globals are no longer in top scope (since they could | |
70 | conflict with a module name) | |
71 | 9/18 2.17 another problem related to expressions having to do with | |
72 | handling pointers to arrays | |
73 | ... | |
74 | 1/1 2.25 made more inroads into kernel debugging, | |
75 | added macros (aliases with arguments), and settable variables | |
76 | 1/7 2.26 fixed bug where only mapped first address of block read, | |
77 | have to map each page (still wrong though) | |
78 | 1/13 2.27 fixed some user reported problems -- down in runtime | |
79 | didn't work correctly if "curframe" wasn't already set, | |
80 | the process instruction cache had to be flushed when | |
81 | a process is killed (this caused a problem when an | |
82 | object file was remade) | |
83 | 1/14 2.28 fixed problem with mapping addresses under -k, | |
84 | added -c option for command files other than .dbxinit | |
85 | fixed occasional problem with testing for end of stack frames | |
86 | (symptom was infinite loop calling nextframe) | |
87 | 1/15 2.29 fixed problem with printing dynamic arrays inside aggregates | |
88 | fixed type compatibility for builtin true and false |