Initial revision
[deliverable/binutils-gdb.git] / gdb / WHATS.NEW
CommitLineData
94d86c7c 1 What has changed since GDB-3.5?
24db5b87 2 (Organized release by release)
94d86c7c 3
24db5b87
JG
4*** Changes in GDB-4.1:
5
6 * Multiple source language support
7
8GDB now has internal scaffolding to handle several source languages.
9It determines the type of each source file from its filename extension,
10and will switch expression parsing and number formatting to match the
11language of the function in the currently selected stack frame.
12You can also specifically set the language to be used, with
13`set language c' or `set language modula-2'.
94d86c7c
JG
14
15 * GDB and Modula-2
16
17GDB now has preliminary support for the GNU Modula-2 compiler,
18currently under development at the State University of New York at
19Buffalo. Development of both GDB and the GNU Modula-2 compiler will
20continue through the fall of 1991 and into 1992.
21
22Other Modula-2 compilers are currently not supported, and attempting to
23debug programs compiled with them will likely result in an error as the
24db5b87
JG
24symbol table is read. Feel free to work on it, though!
25
26There are hooks in GDB for strict type checking and range checking,
27in the `Modula-2 philosophy', but they do not currently work.
28
29 * set write on/off
30
31GDB can now write to executable and core files (e.g. patch
32a variable's value). You must turn this switch on, specify
33the file ("exec foo" or "core foo"), *then* modify it, e.g.
34by assigning a new value to a variable. Modifications take
35effect immediately.
36
37 * Automatic SunOS shared library reading
38
39When you run your program, GDB automatically determines where its
40shared libraries (if any) have been loaded, and reads their symbols.
41The `share' command is no longer needed. This also works when
42examining core files.
43
44 * set listsize
45
46You can specify the number of lines that the `list' command shows.
47The default is 10.
48
49 * New machines supported (host and target)
50
51SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
52Sony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news
53Ultracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3
54
55 * New hosts supported (not targets)
56
57IBM RT/PC: romp-ibm-aix or rtpc
58
59 * New targets supported (not hosts)
60
61AMD 29000 embedded with COFF a29k-none-coff
62AMD 29000 embedded with a.out a29k-none-aout
63Ultracomputer remote kernel debug a29k-nyu-kern
64
65 * New remote interfaces
66
67AMD 29000 Adapt
68AMD 29000 Minimon
69
70
71*** Changes in GDB-4.0:
dd3b648e
RP
72
73 * New Facilities
74
81049e47 75Wide output is wrapped at good places to make the output more readable.
dd3b648e
RP
76
77Gdb now supports cross-debugging from a host machine of one type to a
78target machine of another type. Communication with the target system
79is over serial lines. The ``target'' command handles connecting to the
80remote system; the ``load'' command will download a program into the
81049e47
JG
81remote system. Serial stubs for the m68k and i386 are provided. Gdb
82also supports debugging of realtime processes running under VxWorks,
83using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
84stub on the target system.
dd3b648e
RP
85
86New CPUs supported include the AMD 29000 and Intel 960.
87
88GDB now reads object files and symbol tables via a ``binary file''
89library, which allows a single copy of GDB to debug programs of multiple
90object file types such as a.out and coff.
91
d7c2f2dd
RP
92There is now a GDB reference card in "doc/refcard.tex". (Make targets
93refcard.dvi and refcard.ps are available to format it).
dd3b648e
RP
94
95
96 * Control-Variable user interface simplified
97
98All variables that control the operation of the debugger can be set
99by the ``set'' command, and displayed by the ``show'' command.
100
101For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
102``Show prompt'' produces the response:
103Gdb's prompt is new-gdb=>.
104
105What follows are the NEW set commands. The command ``help set'' will
106print a complete list of old and new set commands. ``help set FOO''
adf2bb58
JG
107will give a longer description of the variable FOO. ``show'' will show
108all of the variable descriptions and their current settings.
dd3b648e 109
a1002e9a 110confirm on/off: Enables warning questions for operations that are
dd3b648e
RP
111 hard to recover from, e.g. rerunning the program while
112 it is already running. Default is ON.
113
114editing on/off: Enables EMACS style command line editing
115 of input. Previous lines can be recalled with
116 control-P, the current line can be edited with control-B,
117 you can search for commands with control-R, etc.
118 Default is ON.
119
120history filename NAME: NAME is where the gdb command history
121 will be stored. The default is .gdb_history,
122 or the value of the environment variable
123 GDBHISTFILE.
124
125history size N: The size, in commands, of the command history. The
126 default is 256, or the value of the environment variable
127 HISTSIZE.
128
90262bf9 129history save on/off: If this value is set to ON, the history file will
dd3b648e
RP
130 be saved after exiting gdb. If set to OFF, the
131 file will not be saved. The default is OFF.
132
133history expansion on/off: If this value is set to ON, then csh-like
134 history expansion will be performed on
135 command line input. The default is OFF.
136
137radix N: Sets the default radix for input and output. It can be set
138 to 8, 10, or 16. Note that the argument to "radix" is interpreted
139 in the current radix, so "set radix 10" is always a no-op.
140
adf2bb58
JG
141height N: This integer value is the number of lines on a page. Default
142 is 24, the current `stty rows'' setting, or the ``li#''
143 setting from the termcap entry matching the environment
144 variable TERM.
dd3b648e 145
adf2bb58
JG
146width N: This integer value is the number of characters on a line.
147 Default is 80, the current `stty cols'' setting, or the ``co#''
148 setting from the termcap entry matching the environment
149 variable TERM.
dd3b648e 150
a1002e9a
JK
151Note: ``set screensize'' is obsolete. Use ``set height'' and
152``set width'' instead.
dd3b648e 153
a1002e9a 154print address on/off: Print memory addresses in various command displays,
dd3b648e
RP
155 such as stack traces and structure values. Gdb looks
156 more ``symbolic'' if you turn this off; it looks more
157 ``machine level'' with it on. Default is ON.
158
a1002e9a 159print array on/off: Prettyprint arrays. New convenient format! Default
dd3b648e
RP
160 is OFF.
161
a1002e9a
JK
162print demangle on/off: Print C++ symbols in "source" form if on,
163 "raw" form if off.
dd3b648e 164
a1002e9a
JK
165print asm-demangle on/off: Same, for assembler level printouts
166 like instructions.
dd3b648e 167
a1002e9a 168print vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF.
dd3b648e
RP
169
170
171 * Support for Epoch Environment.
172
173The epoch environment is a version of Emacs v18 with windowing. One
174new command, ``inspect'', is identical to ``print'', except that if you
175are running in the epoch environment, the value is printed in its own
176window.
177
178
179 * Support for Shared Libraries
180
181GDB can now debug programs and core files that use SunOS shared libraries.
182Symbols from a shared library cannot be referenced
183before the shared library has been linked with the program (this
184happens after you type ``run'' and before the function main() is entered).
185At any time after this linking (including when examining core files
186from dynamically linked programs), gdb reads the symbols from each
187shared library when you type the ``sharedlibrary'' command.
188It can be abbreviated ``share''.
189
190sharedlibrary REGEXP: Load shared object library symbols for files
191 matching a unix regular expression. No argument
192 indicates to load symbols for all shared libraries.
193
194info sharedlibrary: Status of loaded shared libraries.
195
196
197 * Watchpoints
198
199A watchpoint stops execution of a program whenever the value of an
200expression changes. Checking for this slows down execution
201tremendously whenever you are in the scope of the expression, but is
202quite useful for catching tough ``bit-spreader'' or pointer misuse
203problems. Some machines such as the 386 have hardware for doing this
204more quickly, and future versions of gdb will use this hardware.
205
206watch EXP: Set a watchpoint (breakpoint) for an expression.
207
208info watchpoints: Information about your watchpoints.
209
210delete N: Deletes watchpoint number N (same as breakpoints).
211disable N: Temporarily turns off watchpoint number N (same as breakpoints).
212enable N: Re-enables watchpoint number N (same as breakpoints).
213
214
215 * C++ multiple inheritance
216
217When used with a GCC version 2 compiler, GDB supports multiple inheritance
218for C++ programs.
219
220 * C++ exception handling
221
222Gdb now supports limited C++ exception handling. Besides the existing
223ability to breakpoint on an exception handler, gdb can breakpoint on
224the raising of an exception (before the stack is peeled back to the
225handler's context).
226
227catch FOO: If there is a FOO exception handler in the dynamic scope,
228 set a breakpoint to catch exceptions which may be raised there.
229 Multiple exceptions (``catch foo bar baz'') may be caught.
230
231info catch: Lists all exceptions which may be caught in the
232 current stack frame.
233
234
235 * Minor command changes
236
237The command ``call func (arg, arg, ...)'' now acts like the print
238command, except it does not print or save a value if the function's result
239is void. This is similar to dbx usage.
240
241The ``up'' and ``down'' commands now always print the frame they end up
242at; ``up-silently'' and `down-silently'' can be used in scripts to change
243frames without printing.
244
245 * New directory command
246
247'dir' now adds directories to the FRONT of the source search path.
248The path starts off empty. Source files that contain debug information
249about the directory in which they were compiled can be found even
adf2bb58
JG
250with an empty path; Sun CC and GCC include this information. If GDB can't
251find your source file in the current directory, type "dir .".
dd3b648e
RP
252
253 * Configuring GDB for compilation
254
adf2bb58
JG
255For normal use, type ``./configure host''. See README or gdb.texinfo
256for more details.
dd3b648e
RP
257
258GDB now handles cross debugging. If you are remotely debugging between
adf2bb58
JG
259two different machines, type ``./configure host -target=targ''.
260Host is the machine where gdb will run; targ is the machine
dd3b648e 261where the program that you are debugging will run.
This page took 0.044947 seconds and 4 git commands to generate.