[LWN Logo]
[Timeline]

Release 3.3 of DDD, the Data Display Debugger, is now available.


What is DDD?
============

DDD is a graphical front-end for command-line debuggers such as GDB,
DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, or the Python
debugger.  Besides ``usual'' front-end features such as viewing source
texts, DDD has become famous through its interactive graphical data
display, where data structures are displayed as graphs.

There is more information available at the GNU DDD homepage at
`http://www.gnu.org/software/ddd/'.


What's new in DDD?
==================

DDD 3.3
=======

DDD 3.3 brings data themes, debugger interaction while the program is
running, support for JDB 1.2, and several bug fixes.


Data Themes
-----------

- DDD supports _data themes_ - modifiers that change the appearance of 
  program data.  Try `Data->Themes'.

- Data themes included with this release are:
  * Show specific expressions in a smaller font (useful for arrays).
  * Show display titles in a smaller font.
  * Suppress specific structure members or expressions.

- New data themes can be defined by users and installed at run-time.

- More themes are in preparation, such as rendering of C++ STL data structures.


Debuggers and Languages
-----------------------

- JDB as of JDK 1.2 is supported.

- GDB 5.0 is supported.

- You can use `ddd --wdb' to have DDD startup with WDB.  

- When choosing a debugger automatically, DDD will try `wdb' if `gdb'
  is not available.

- WindRiver's version of GDB (within the Tornado/vxworks environment)
  is supported.  See the DDD Reference, Section `WindRiver GDB' for
  details. (5)

- SGI DBX, Sun DBX, other DBXes as well as Compaq Ladebug can now
  attach to processes via DDD. (1)

- Parsing of GDB breakpoint information has been improved. (2)

- Parsing of Perl breakpoint information has been improved.

- Perl hash keys containing spaces are supported. (8)

- Using the separate execution window now improves parsing debugger
  output.  See the DDD documentation for the new `bufferGDBOutput'
  resource.


Examining Data
--------------

- New displays can be created left-to-right.  
  See `Edit => Preferences => Data => Placement'.  (6)

- Handling of Ladebug array output has been improved.  (7)

- Handling of multiple C++ base classes has been improved.

- Names that are keywords in some programming languages (such as
  `interface', `object', `class') should no longer impose problems when
  occurring in programs of other languages.

- Several memory leaks have been plugged. (1)


User Interface
--------------

- The default DDD font has been changed from `helvetica-bold' to
  `helvetica-medium', thus integrating better into KDE and GNOME
  environments.

- You can interact with the debugger while the program is running;
  DDD automatically interrupts and resumes debuggee execution.  See the
  `stopAndContinue' resource for details.

- Undo and Redo now apply on logical groups of commands.  If an action
  caused multiple commands, Undo will undo them with one click.

- Interrupts (Ctrl+C) from the controlling TTY can be issued multiple times.

- With LessTif, the source window no longer scrolls around when
  setting or deleting breakpoints.

- With LessTif, combo boxes (drop-down text boxes) no longer shrink.

- With LessTif, Text selection works better.

- With LessTif, typing in the debugger console works better.

- With LessTif, switching the register set works.

- Drag and Drop of breakpoints in the machine code is supported.

- Names of debuggee files and directories may contain spaces.

- Spin boxes (used to step values) have been slightly improved.

- Forwarding of keyboard events from the source window into the
  debugger console is now optional.  See the `consoleHasFocus' resource. (10)


Printing
--------

- PostScript printing includes background colors (e.g. changed values)



Installation
------------

- PLEASE NOTE: Several installation details have changed.  Be sure to
  read the `INSTALL' file for new installation instructions.

- Several DDD resources (such as the application defaults) now reside
  in separate files, reducing DDD executable size and memory footprint 
  by about 300k.

- To run DDD from the build directory (i.e. before installing), you
  must set the DDD_HOME and XUSERFILESEARCH environment variables.
  See the `INSTALL' file for details.

- The configure `--enable-rpath' option allows you to specify a path
  to be searched for dynamic libraries at run-time.

- DDD Makefiles are now GNU standards-compliant and generated by automake.

- DDD Makefiles use libtool for generic shared library support.

- A bad dependency on $(SHELL) in the Makefile has been fixed.  This
  caused unnecessary calls of flex and bison in the distribution. (9)

- A bad wildcard use in the Makefile has been fixed. (3)

- A compilation problem in `PannedGE.C' with some GCC variants has been fixed.

- DDD now compiles cleanly even with `gcc -Wwrite-strings'.  This
  avoids several warnings/errors on C++ compilers other than GCC. (1)

- The `--configuration' option now gives more information about the
  compiler being used to compile DDD. (1)

- ddd.texi rules in the Makefile have been fixed. (4)

- The release includes the `libiberty' and `readline' packages as of GDB 5.0.


License
-------

- All remaining parts of DDD that used the GNU Library Public General
  License (LGPL) have been changed to use the GNU General Public 
  License (GPL) instead.

- The DDD Manual is released under the new GNU Free Documentation License.


Tracking Code Changes
---------------------

- This release no longer includes `ChangeLog' files.  Instead, you can
  directly access old and recent DDD versions (including a list of all
  changes) via the public CVS interface at

      http://sourceforge.net/projects/ddd/

- You can also download most recent DDD versions from the public CVS
  interface.  See the file `README-CVS' in the CVS archive for details.


Acknowledgments
---------------

Thanks to: 
    (1) Arnaud Desitter <arnaud@nag.co.uk>
    (2) Hiro Sugawara <hiro@lynx.com>
    (3) Yann Dirson <Yann.Dirson@france.sun.com>
    (4) H. Nanosecond <aldomel@ix.netcom.com>
    (5) Gary Cliff <gary.cliff@cdott.com>
    (6) Danny Van Elsen <Danny_Van_Elsen@village.uunet.be>
    (7) Philippe Midol-Monnet <Philippe.MIDOL-MONNET@airbus.aeromatra.com>
    (8) Felipe Rivera <felipe@informador.com.mx>
    (9) Thomas Anders <anders@hmi.de>
   (10) Colin <cbyh@yahoo.com>



Where can you get it?  How can you compile it?
==============================================

The ddd-3.3.tar.gz distribution file has been placed on `ftp.gnu.org'
in `gnu/ddd'.

DDD 3.3 requires 
- LessTif 0.90 or later, available from `http://www.lesstif.org/' 
  (or any other M*tif library)
- GCC 2.95 or later (or any other C++ compiler)

The most recent (not necessarily tested) snapshots of DDD will be
placed on `alpha.gnu.org' in `gnu/ddd'.


Where do I send bug reports?
============================

Bug reports can be sent to <bug-ddd@gnu.org>.


Enjoy!

The DDD maintainers <ddd@gnu.org>



Obtaining GNU Software
======================

   Check out the GNU web site. (`http://www.gnu.org/')

   Most GNU software is packed using the GNU `gzip' compression program.
Source code is available on most sites distributing GNU software.

   For information on how to order GNU software on tape, floppy or
cd-rom, or printed GNU manuals, check the file etc/ORDERS in the GNU
Emacs distribution or in GNUinfo/ORDERS on prep, or e-mail a request to:
<gnu@gnu.org>

   By ordering your GNU software from the FSF, you help us continue to
develop more free software.  Media revenues are our primary source of
support.  Donations to FSF are deductible on US tax returns.

   The above software will soon be at these ftp sites as well.  Please
try them before `ftp.gnu.org' as it is very busy!

   thanx <gnu@gnu.org>

*ASIA:*
        - `ftp://ftp.cs.titech.ac.jp'

        - `ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep'

        - `ftp://cair.kaist.ac.kr/pub/gnu'

        - `ftp://ftp.nectec.or.th/pub/mirrors/gnu'

*AUSTRALIA:*
        - `ftp://archie.au/gnu' (archie.oz or archie.oz.au for ACSnet)

*AFRICA:*
        - `ftp://ftp.sun.ac.za/pub/gnu'

*MIDDLE-EAST:*
        - `ftp://ftp.technion.ac.il/pub/unsupported/gnu'

*EUROPE:*
        - `ftp://irisa.irisa.fr/pub/gnu'

        - `ftp://ftp.univ-lyon1.fr/pub/gnu'

        - `ftp://ftp.mcc.ac.uk'

        - `ftp://unix.hensa.ac.uk/pub/uunet/systems/gnu'

        - `ftp://src.doc.ic.ac.uk/gnu'

        - `ftp://ftp.ieunet.ie/pub/gnu'

        - `ftp://ftp.eunet.ch'

        - `ftp://sunsite.cnlab-switch.ch/mirror/gnu'

        - `ftp://ftp.informatik.rwth-aachen.de/pub/gnu'

        - `ftp://ftp.informatik.tu-muenchen.de'

        - `ftp://ftp.win.tue.nl/pub/gnu'

        - `ftp://ftp.funet.fi/pub/gnu'

        - `ftp://ftp.denet.dk'

        - `ftp://ftp.stacken.kth.se'

        - `ftp://isy.liu.se'

        - `ftp://ftp.luth.se/pub/unix/gnu'

        - `ftp://ftp.sunet.se/pub/gnu'

        - `ftp://archive.eu.net'

*SOUTH AMERICA:*
        - `ftp://ftp.unicamp.br/pub/gnu'

*WESTERN CANADA:*
        - `ftp://ftp.cs.ubc.ca/mirror2/gnu'

*USA:*
        - `ftp://wuarchive.wustl.edu/systems/gnu'

        - `ftp://labrea.stanford.edu'

        - `ftp://ftp.digex.net/pub/gnu'

        - `ftp://ftp.kpc.com/pub/mirror/gnu'

        - `ftp://f.ms.uky.edu/pub3/gnu'

        - `ftp://jaguar.utah.edu/gnustuff'

        - `ftp://ftp.hawaii.edu/mirrors/gnu'

        - `ftp://vixen.cso.uiuc.edu/gnu'

        - `ftp://mrcnext.cso.uiuc.edu/pub/gnu'

        - `ftp://ftp.cs.columbia.edu/archives/gnu/prep'

        - `ftp://col.hp.com/mirrors/gnu'

        - `ftp://gatekeeper.dec.com/pub/GNU'

        - `ftp://ftp.uu.net/systems/gnu'


[ Most GNU software is compressed using the GNU `gzip' compression program.
  Source code is available on most sites distributing GNU software.
  Executables for various systems and information about using gzip can be
  found at the URL http://www.gzip.org.

  For information on how to order GNU software on CD-ROM and
  printed GNU manuals, see http://www.gnu.org/order/order.html
  or e-mail a request to: gnu@gnu.org

  By ordering your GNU software from the FSF, you help us continue to
  develop more free software.  Media revenues are our primary source of
  support.  Donations to FSF are deductible on US tax returns.

  The above software will soon be at these ftp sites as well.
  Please try them before ftp.gnu.org as ftp.gnu.org is very busy!
  A possibly more up-to-date list is at the URL
        http://www.gnu.org/order/ftp.html

  thanx -gnu@gnu.org

  Here are the mirrored ftp sites for the GNU Project, listed by country:

  
  
  United States:
  
  
  California - labrea.stanford.edu/pub/gnu, gatekeeper.dec.com/pub/GNU
  Hawaii - ftp.hawaii.edu/mirrors/gnu
  Illinois - uiarchive.cso.uiuc.edu/pub/gnu (Internet address 128.174.5.14)
  Kentucky -  ftp.ms.uky.edu/pub/gnu
  Maryland - ftp.digex.net/pub/gnu (Internet address 164.109.10.23)
  Massachusetts - aeneas.mit.edu/pub/gnu
  Michigan - gnu.egr.msu.edu/pub/gnu
  Missouri - wuarchive.wustl.edu/systems/gnu
  New Mexico - ftp.cs.unm.edu/mirrors/gnu
  New York - ftp.cs.columbia.edu/archives/gnu/prep
  Ohio - ftp.cis.ohio-state.edu/mirror/gnu
  Virginia - ftp.uu.net/archive/systems/gnu
  Washington - ftp.nodomainname.net/pub/mirrors/gnu
  
  Africa:
  
  South Africa - ftp.sun.ac.za/gnu
  
  The Americas:
  
  Brazil - ftp.unicamp.br/pub/gnu
  Brazil - master.softaplic.com.br/pub/gnu
  Brazil - linuxlabs.lci.ufrj.br/gnu
  Brazil - ftp.matrix.com.br/pub/gnu
  Canada - ftp.cs.ubc.ca/mirror2/gnu
  Chile - ftp.inf.utfsm.cl/pub/gnu (Internet address 146.83.198.3)
  Costa Rica - sunsite.ulatina.ac.cr/GNU
  Mexico - ftp.uaem.mx/pub/gnu
  
  Australia:
  
  Australia - archie.au/gnu (archie.oz or archie.oz.au for ACSnet)
  Australia - ftp.progsoc.uts.edu.au/pub/gnu
  Australia - mirror.aarnet.edu.au/pub/gnu
  
  Asia:
  
  Japan - tron.um.u-tokyo.ac.jp/pub/GNU/prep
  Japan - ftp.cs.titech.ac.jp/pub/gnu
  Japan - mirror.nucba.ac.jp/mirror/GNU/
  Korea - cair-archive.kaist.ac.kr/pub/gnu (Internet address 143.248.186.3)
  Saudi Arabia - ftp.isu.net.sa/pub/mirrors/prep.ai.mit.edu/pub/gnu
  Taiwan - coda.nctu.edu.tw/UNIX/gnu
  Taiwan - ftp1.sinica.edu.tw/pub3/GNU/gnu/
  Thailand - ftp.nectec.or.th/pub/mirrors/gnu (Internet address - 192.150.251.32)
  
  Europe:
  
  Austria - ftp.univie.ac.at/packages/gnu
  Austria - gd.tuwien.ac.at/gnu/gnusrc
  Belgium - ftp.be.gnu.org/
  Austria - http://gd.tuwien.ac.at/gnu/gnusrc/
  Czech Republic - ftp.fi.muni.cz/pub/gnu/
  Denmark - ftp.denet.dk/mirror/ftp.gnu.org/pub/gnu
  Denmark - ftp.dkuug.dk/pub/gnu/
  Finland - ftp.funet.fi/pub/gnu
  France - ftp.univ-lyon1.fr/pub/gnu
  France - ftp.irisa.fr/pub/gnu
  Germany - ftp.informatik.tu-muenchen.de/pub/comp/os/unix/gnu/
  Germany - ftp.informatik.rwth-aachen.de/pub/gnu
  Germany - ftp.de.uu.net/pub/gnu
  Greece - ftp.forthnet.gr/pub/gnu
  Greece - ftp.ntua.gr/pub/gnu
  Greece - ftp.duth.gr/pub/gnu
  Greece - ftp.aua.gr/pub/mirrors/GNU (Internet address 143.233.187.61)
  Hungary - ftp.kfki.hu/pub/gnu
  Ireland - ftp.esat.net/pub/gnu (Internet address 193.120.14.241)
  Italy - ftp.oasi.gpa.it/pub/gnu
  Netherlands - ftp.eu.net/gnu (Internet address 192.16.202.1)
  Netherlands - ftp.nluug.nl/pub/gnu
  Netherlands - ftp.win.tue.nl/pub/gnu (Internet address 131.155.70.19)
  Netherlands - ftp.mirror.nl/pub/mirror/gnu
  Norway - ftp.ntnu.no/pub/gnu (Internet address 129.241.11.142)
  Norway - sunsite.uio.no/pub/gnu
  Poland - ftp.task.gda.pl/pub/gnu
  Portugal - ftp.ci.uminho.pt/pub/mirrors/gnu 
  Portugal - http://ciumix.ci.uminho.pt/mirrors/gnu/
  Portugal - ftp.ist.utl.pt/pub/gnu
  Russia - ftp.chg.ru/pub/gnu/
  Slovenia - ftp.arnes.si/gnu
  Spain - ftp.etsimo.uniovi.es/pub/gnu
  Sweden - ftp.isy.liu.se/pub/gnu
  Sweden - ftp.stacken.kth.se
  Sweden - ftp.luth.se/pub/unix/gnu
  Sweden - ftp.sunet.se/pub/gnu (Internet address 130.238.127.3)
  	   Also mirrors the Mailing List Archives.
  Sweden - ftp.chl.chalmers.se/pub/gnu/
  Switzerland - ftp.eunet.ch/mirrors4/gnu
  Switzerland - sunsite.cnlab-switch.ch/mirror/gnu (Internet address 193.5.24.1)
  United Kingdom - ftp.mcc.ac.uk/pub/gnu (Internet address 130.88.203.12)
  United Kingdom - unix.hensa.ac.uk/mirrors/gnu
  United Kingdom - ftp.warwick.ac.uk (Internet address 137.205.192.14)
  United Kingdom - SunSITE.doc.ic.ac.uk/gnu (Internet address 193.63.255.4)
  
]