This is the mail archive of the
mailing list for the GDB project.
Re: GDB paper accepted for GCC summit
- From: PAUL GILLIAM <pgilliam at us dot ibm dot com>
- To: gdb at sources dot redhat dot com
- Date: Mon, 10 Apr 2006 13:32:23 -0700
- Subject: Re: GDB paper accepted for GCC summit
- References: <email@example.com>
- Reply-to: pgilliam at us dot ibm dot com
Here is stuff about new or improved "user-level" features I gleaned from
NEWS. I would welcome any comments.
-------- >6.4 --------
This facility allows the user to create a checkpoint, continue
debugging, and then 'backup' to the point where the checkpoint
was taken. More that one checkpoint can be made and commands
have been added to manage them.
Previously, the user had to decide which process should continue
to be debugged after a fork: the parent or the child. The one
not debugged would run unhindered to completion. Now it is
possible to debug both processes without the kludge of starting
a second GDB.
A number of improvements where made for convenience variables:
* A new command was added: "init-if-undefined": this is useful
for user defined functions that need to save state.
* In general, convenience variables are no longer reset by a
Windows Host Support
GDB now builds as a cross debugger hosted on i686-mingw32,
including native console support, and remote communications
using either network sockets or serial ports.
ARM rdi-share module
Netware NLM Debug Server
-------- 6.4 --------
BSD user-level threads support
User level thread libraries are now supported for freeBSD and
openBSD. Kernel thread libraries are not yet supported.
VAX floating point support
Support was added for the not-quite-IEEE VAX F and D floating
User-defined command support
A new convenience variable, $argc, has been added so that a user
defined function can know how man arguments were given when it
When an array is displayed, its values are displayed without
reference to their index in the array. The new 'set print
array-indexes" command my be used so that index values are
-------- 6.3 --------
"-l" command line option
GDB now accepts -l followed by a number to set the timeout for
Support for GCC -feliminate-dwarf2-dups
GDB now supports a more compact representation of DWARF-2 debug
information using DW_FORM_ref_addr references. These are
produced by GCC with the option -feliminate-dwarf2-dups and also
by some proprietary compilers. With GCC, you must use GCC 3.3.4
or later to use -feliminate-dwarf2-dups.
When supported by the host system, GDB will be built with
internationalization (libintl). The task of marking up the
sources is continued, we're looking forward to our first
Initial support for debugging programs compiled with the GNAT
implementation of the Ada programming language has been
integrated into GDB. In this release, support is limited to
GDB's remote protocol now includes support for the 'p' packet.
This packet is used to fetch individual registers from a remote
-------- 6.2.1 --------
This release fixed a couple of near 'show stoppers' on the MIPS and VAX
-------- 6.2 --------
Support for the BSD Kernel Data Access Library (libkvm) interface.
Using 'target kvm', it is now possible to debug kernel core
dumps and live kernel memory images on various BSD flavored
platforms. Currently, the following native-only configurations
are supported: FreeBSD/amd64, FreeBSD/i386, NetBSD/i386,
NetBSD/m68k, NetBSD/sparc, OpenBSD/amd64, OpenBSD/i386,
OpenBSD/m68k, and OpenBSD/sparc.
Cygwin support for DWARF 2.
Support for NPTL threads was enhanced to work better with target
programs that rapidly create and delete threads.
Command line options "-async" and "-noasync", which supported the
broken "no acync" feature, where removed, effectively removing the
-------- 6.1.1 --------
This was primarily a maintenance release to fix several built problems.
Text-mode User Interface
The TUI (text-mode user interface) is now build by default.
This is a curses based interface that provides a kind of
primitive 'GUI' and can be activated by using the -i=tui command
line option to GDB or by running the separate "gdbtui" program.
See the manual for more info.
-------- 6.1 --------
Support was added to allow setting breakpoints in shared
libraries that have not yet been loaded. If the 'breakpoint
pending' option is set to auto, the user is asked if a the
breakpoint should be made pending on a future shared-library
load. When the breakpoint symbol is resolved, the pending
breakpoint is removed and one or more regular breakpoints are
created. Pending breakpoints are very useful for GCJ Java
New C++ Demangler
A new demangler was added that does a better job on mangled
names generated by G++. The new demangler also runs faster,
helping GDB to start up faster on large C++ programs.
DWARF 2 Location Expressions
Support was extended to support function arguments and frame
bases. Formally, these would cause GDB to crash.
C++ nested types and namespaces
Support for these was improved, especially for users of DWARF 2.
-------- 6.0 --------
Support for debugging programs written in the Objective-C
language has been integrated into GDB.
Thread local storage (TLS)
Now supports the GNU/Linux implementation of per-thread
Dwarf 2 location expressions
These allow a compiler to more completely describe where
variables are located, in memory and/or registers, even when
optimization is used. Preliminary support was a added
Extended to support hosted file I/O. This is where the remote
target can make use of the file system that GDB can access.
GDB now supports the new NPTL threads as well as the older