|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.