From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8641 invoked by alias); 10 Apr 2006 21:17:30 -0000 Received: (qmail 8632 invoked by uid 22791); 10 Apr 2006 21:17:29 -0000 X-Spam-Check-By: sourceware.org Received: from e6.ny.us.ibm.com (HELO e6.ny.us.ibm.com) (32.97.182.146) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 10 Apr 2006 21:17:26 +0000 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e6.ny.us.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id k3ALHJCN019452 for ; Mon, 10 Apr 2006 17:17:19 -0400 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay02.pok.ibm.com (8.12.10/NCO/VER6.8) with ESMTP id k3ALH9Im212520 for ; Mon, 10 Apr 2006 17:17:09 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11/8.13.3) with ESMTP id k3ALH9Bp002854 for ; Mon, 10 Apr 2006 17:17:09 -0400 Received: from dufur.beaverton.ibm.com (dufur.beaverton.ibm.com [9.47.22.20]) by d01av02.pok.ibm.com (8.12.11/8.12.11) with ESMTP id k3ALH8MU002777 for ; Mon, 10 Apr 2006 17:17:08 -0400 Subject: GDB paper at GCC summit: user-level features From: PAUL GILLIAM Reply-To: pgilliam@us.ibm.com To: gdb@sources.redhat.com In-Reply-To: <1142633147.21920.400.camel@dufur.beaverton.ibm.com> References: <1142633147.21920.400.camel@dufur.beaverton.ibm.com> Content-Type: text/plain Date: Mon, 10 Apr 2006 22:27:00 -0000 Message-Id: <1144700095.2660.4.camel@dufur.beaverton.ibm.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-04/txt/msg00125.txt.bz2 Here is stuff about new or improved "user-level" features I gleaned from NEWS. I will try non-user level features next. I would welcome any comments. -------- >6.4 -------- New Features: Checkpoints 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. Improved Features: fork 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. Convenience Variables 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 symbol-file command. 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. Removed Features: ARM rdi-share module Netware NLM Debug Server -------- 6.4 -------- New Features: 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 point formats. Improved Features: 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 is invoked. Displaying Arrays 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 included. Removed Features: -------- 6.3 -------- New Features: "-l" command line option GDB now accepts -l followed by a number to set the timeout for remote debugging. 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. Internationalization 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 translation. Ada 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 expression evaluation. Improved Features: Remote Protocol GDB's remote protocol now includes support for the 'p' packet. This packet is used to fetch individual registers from a remote inferior. Removed Features: -------- 6.2.1 -------- This release fixed a couple of near 'show stoppers' on the MIPS and VAX architectures. -------- 6.2 -------- New Features: 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. Improved Features: Threads Support for NPTL threads was enhanced to work better with target programs that rapidly create and delete threads. Removed Features: Command line options "-async" and "-noasync", which supported the broken "no acync" feature, where removed, effectively removing the feature. -------- 6.1.1 -------- This was primarily a maintenance release to fix several built problems. New Features: Improved Features: 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. Removed Features: -------- 6.1 -------- New Features: Pending Breakpoints 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 debugging. Improved Features: 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. Removed Features: -------- 6.0 -------- New Features: Objective-C 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 variables. Improved Features: Threads GDB now supports the new NPTL threads as well as the older LinuxThreads library. Removed Features: