From: Andreas Zeller <>
Subject: The Data Display Debugger (DDD) 2.2.2 is available
Date: 27 Jan 1998 18:24:02 +0000

DDD 2.2.2 is available					-*- text -*-

    Release 2.2.2 of the Data Display Debugger (DDD), a common graphical
    front-end for GDB, DBX, and XDB debuggers, is now available at

    Diffs from earlier versions are in

    Contributed DDD binaries for various architectures are in

    The DDD WWW page is at

    Please try a closer FTP site first; see below for a list.

What's new in DDD?

    DDD 2.2.2 brings improved FORTRAN support, improvements in the
    data display and fixes some minor bugs introduced in DDD 2.2.

    User-visible changes to DDD 2.2.1:
    - Improved FORTRAN support.  When debugging FORTRAN programs with
      GDB, DDD now supports FORTRAN array indexing syntax, FORTRAN
      pointer recognition, and lookup of FORTRAN functions with
      trailing underscore `_'.
    - The data display is now scope-sensitive: displays are
      automatically hidden as they become inactive (out of scope) and
      redisplayed as they become active again.  This is handy when
      maintaining a multitude of displays in different scopes.  For
      details, see the `hideInactiveDisplays' resource.
    - Faster data exploration.  Double-clicking...
      * ...on a pointer value: dereferences it.
      * ...on a partially hidden value: shows more detail.
      * ...on a fully shown value: hides it again.
    - A display resize (due to value changes) now automatically
      `bumps' adjacent displays such that they are not obscured;
      see the `bumpDisplays' resource for details.
    - Case-insensitive search in the source text is now supported;
      see the `findCaseSensitive' resource for details.

    Bug fixes:
    - Getting and identifying core dumps now works on Solaris, AIX and
      other architectures.
    - `Edit' no longer causes DDD to crash.
    - The separate execution TTY now works with Sun DBX 4.0.
    - Improved XDB support.  XDB output no longer causes DDD to hang.
    - Improved SGI DBX support.  File positions are now recognized;
      DBX Preferences work, too.
    - Various quirks and memory leaks in the interaction between DDD
      and the inferior debugger have been fixed.

    Changes in debugging DDD:
    - The interaction between DDD and the inferior debugger is now
      logged in `~/.ddd/log'.  This is useful for bug reports.
    - DDD dumps core upon fatal errors (but resumes execution).
      This is useful for bug reports.

    Changes in configuration and building:
    - GCC 2.8.0 is supported.

    There are also some more minor improvements and bug fixes; see the
    `ChangeLog' file for details.

What is DDD, anyway?

    The Data Display Debugger (DDD) is a common graphical user
    interface to GDB, DBX, and XDB, the popular UNIX debuggers.
    Besides ``usual'' features such as viewing source texts and
    breakpoints, DDD provides a graphical data display, where data
    structures are displayed as graphs.  A simple mouse click
    dereferences pointers or reveals structure contents, updated each
    time the program stops.  Using DDD, you can reason about your
    application by viewing its data, not just by viewing it execute
    lines of source code.

    Other DDD features include: debugging of programs written in C,
    C++, Ada, Fortran, Pascal, Modula-2, or Modula-3; machine-level
    debugging; hypertext source navigation and lookup; breakpoint,
    backtrace, and history editors; preferences and settings editors;
    program execution in terminal emulator window; debugging on remote
    host; on-line manual; interactive help on the Motif user
    interface; GDB/DBX/XDB command-line interface with full editing,
    history, and completion capabilities.  DDD has been designed to
    compete with well-known commercial debuggers.
    Speaking of platforms: DDD configures, compiles and runs
    out-of-the-box on every major UNIX platform, including AIX
    (powerpc-ibm-aix3, rs6000-ibm-aix3), FreeBSD
    (i386-intel-freebsd1), HP-UX (hppa1.1-hp-hpux9, m68k-hp-hpux9),
    IRIX (mips-sgi-irix5), Linux (i[3456]86-unknown-linux,
    i[3456]86-unknown-linuxaout), Alpha OSF (alpha-osf3), Solaris
    (i386-sun-solaris2, sparc-sun-solaris2), SunOS (sparc-sun-sunos4),
    and ULTRIX (mips-dec-ultrix4).

    DDD is free software, protected by the GNU general public license.
    It is actively maintained by its authors, Dorothea Luetkehaus and
    Andreas Zeller at the Technische Universitaet Braunschweig,

What do I need to build DDD?

    To build a complete DDD from sources, you need:

       * The GNU C++ compiler (GCC/G++), preferably version 2.7.2 or
	 later, and a matching C++ I/O library (libstdc++ or libg++).

         Some other C++ compilers have been reported to compile DDD as
         well.  Good results have been reported with Sun CC 4.0.  SGI
         CC and AIX xlC compile DDD, but introduce some subtle errors.
         Cfront 3.0 does not compile DDD.  In doubt, GCC is preferred.

       * The X window library (Xlib) and X toolkit library (Xt), X11R4
         or later.

       * A Motif Widget library, version 1.1 or later.  Best results
         are achieved using OSF/Motif 2.0 or later.

         DDD also compiles and runs with LessTif, a free Motif clone,
         release 0.82 or later, without loss of functionality.  Be
         sure to check the DDD WWW site and the `patches/' directory
         for patches required to make DDD run.  LessTif is available
         via `'.

       * Optionally, in addition to the Motif widget library, the
         Athena Widget library (release 5 or later).  Having the
         Athena Widget library is convenient for supporting
         two-dimensional scrollbars and the `editres' protocol.

       * Optionally, the XPM library (release 3.2 or later).  The XPM
         library brings support for multi-color icons and logos.

       * Lots of virtual memory.

    To run DDD, you need an inferior command-line debugger.  Best
    results are achieved with GDB, the GNU debugger.  (GDB 4.x is
    required; best results are achieved with GDB 4.13 or later.)
    Using GDB, you can debug programs written in C and C++; GNU Ada
    (`gnat'), GNU Fortran (`g77') and GNU Modula-2 have been reported
    to work as well.

    As an alternative to GDB, DDD also supports the DBX debugger as
    found on SUN, DEC, AIX, and IRIX systems.  Using DBX, you can
    debug programs written in C, C++, Pascal, Fortran, and Modula-2.
    DDD adapts automatically to a wide range of other DBX variants.

    As another alternative, DDD also supports the XDB debugger as
    found on HP-UX systems.  XDB usage has been tested for C programs
    only, but may work for other languages as well.

Where do I get more information?

    The DDD WWW page (including screen shots) is available at

    A short DDD survey with several screen shots is available at

    The six-page paper gives a short introduction to the look-and-feel
    of DDD and highlights some internal aspects.

    The DDD manual is the official, up-to-date DDD reference.  It now
    includes more than 40 screen shots.  Available at

    The DDD users mailing list, 

    is the right place to contact other DDD users for assistance and
    hints.  New DDD releases are also announced here.  For more
    information on this list, and for subscription, send a mail to

    Please send suggestions and bug reports for DDD to

    As the DDD developers are usually busy with other projects, don't
    expect an immediate personal answer.  However, all bug reports are 
    read and considered for the next DDD release.

Getting DDD

    DDD is available from a number of FTP sites:


      Main FTP site; carries DDD sources (src/), patches (patches/),
      diffs (diffs/), snapshots (current/), documentation (doc/), WWW
      pages (www/) and various binaries (bin/).  Usually overloaded.
      Mirrored in several places, including


      FTP server for Linux and contributions.  Carries DDD sources and
      Linux binaries.  Mirrored in several places; the file `MIRRORS'
      contains a list.


      FTP server for X11 and contributions.  Carries DDD sources.
      Mirrored in several places; server sends a list when overloaded.

Have fun with DDD!

Andreas Zeller      Technische Universitaet Braunschweig, Germany