Home
Page
Personal
Data
Personal
History
At
Home
At
Work
At
Play
Other
Things
Useful
Links
|
Data Display Debugger (DDD) for
Mac OS X
News
| Introduction
| System
Requirements | Download
Source Code
| Change
History | Known
Problems
News
19 Aug 2004 : "stripped" version temporarily removed from
GeoCities web site - see below.
15 Aug 2004 : Released DDD v3.3.9 for Mac OS X
14 Dec 2003 : Released DDD v3.3.8 for Mac OS X.
Introduction
DDD is a graphical front-end for command-line debuggers
such as GDB, 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.
For more information on DDD, visit the GNU
DDD web page.
Additional support for DDD can be found in the DDD
mailing list.
DDD for Mac OS X is the binary for DDD built from
sources on Mac OS X.
The following is a sample screen shot of DDD for Mac OS X
in action.
To be automatically notified of updates, I recommend
using the mailing list subscription feature offered by
System
Requirements
Requirements for DDD for Mac OS X :
- Mac OS X 10.2 or newer (tested with 10.2.6,
10.3.3)
- X11 X Window system (tested with "XFree86" v4.3.0,
v4.4.0 "X11.app" v1.0)
- X11 X Window server (tested with "XDarwin" v1.2,
v1.3; "X11.app" v1.0; "OroborOSX" v0.8.5, v0.9)
- X11 X Window window manager (tested with
"windowmaker" v0.62.1X; "quartz-wm" v1.0; "OroborOSX"
v0.8.5, v0.9)
- FreeType2 (tested with v1.3.1X - libfreetype v6.2,
v6.3)
- LessTif or other OSF/Motif® compatible library
(tested with LessTif v0.93.94)
- DDD (tested with v3.3.9)
- gnuplot (optional - not tested)
- To make use of DDD, a command-line debugger (the
so-called `inferior' debugger) is necessary. It is
recommended that you have previously installed the Mac OS
X Developer Tools.
- To debug binary executables, best results are
achieved with GDB, the GNU debugger. (GDB 4.x is
required; we recommend GDB 5.0 or later.) Using GDB, you
can debug programs written in C, C++, GNU Java
(`guavac'), GNU Ada (`gnat'), GNU Fortran (`g77'), GNU
Chill and GNU Modula-2.
- To debug Java bytecode programs, DDD supports JDB,
the Java Debugger, as of JDK 1.1 and later.
Please note: JDB is more a `proof of concept' than a
real debugger. DDD does its best to overcome JDB's
limitations, but if you have an alternative to DDD/JDB,
try it first.
To debug Python programs, DDD supports PYDB, a PDB
extension. PYDB is included in the DDD distribution.
To debug Perl programs, DDD supports the Perl debugger
as of Perl 5.003 and later.
Most of these items are available from 3rd party sources,
but the LessTif library and DDD are part of the DDD for Mac
OS X installation.
Download
Files are stored as StuffIt (.sit) binary files, or Apple
Disk Copy device image (.dmg) files, or MacBinary (.bin)
files, or BinHex (.hqx) files. You may require an
appropriate FTP client and/or web browser settings.
The ".mac" (or iDisk Public Folder for user "teague") web
site appears to have more reliable file transfers.
There is not a direct download link to the
file on the iDisk - look in the "3. Data Display Debugger"
folder.
- DDD v3.3.9 for Mac OS X (v1.1 released 15 Aug 04).
Due to difficulties hosting the "full" unstripped
version of DDD for Mac OS X disk image on the GeoCities
web site, this disk image is available as two separate
versions - the "full" version and the "stripped"
version.
The only difference between the two versions is that
all debugging symbols are removed from the "stripped"
version. While the "stripped" version is perfectly
usable, if you plan to debug DDD itself, you will
probably want the "full" version. The "stripped" version
is only available on the GeoCities web site. Other
download locations have the "full" version for download.
It is recommended you download the "full" version of DDD
for Mac OS X from those sites.
Update: 19 Aug 04 - the "stripped" version has
temporarily been taken offline, as the upload to
GeoCities (or at least my verification download) is being
corrupted by the upload (or download) process. You will
need to get the "full" version from one of the other
sites.
The FTP site is temporarily unavailable using FTP, but
can be accessed via the AppleTalk Filing Protocol (AFP) -
i.e. AppleShare.
[ iDisk
| "stripped version" (HTTP) | AFP
]
Source
Code
The source code for DDD is provided under the terms of
the GNU General Public License. Since the standard DDD
binary distributions don't include a binary distribution for
Mac OS X, it is possible to take the standard DDD source
distribution and build a binary for Mac OS X. The process
for doing so, is explained in the documentation provided
with DDD for Mac OS X.
The sources required, are available from :
Change
History
15 Aug 04 :
v1.1 Release of DDD v3.3.9 using LessTif v0.93.94.
What's new in DDD 3.3.9?
New features and minor improvements
- Support for PHP debugger has been added (1). This is
essentially not tested.
- Source files in subdirectories should be located
automatically when using dbx (tested on Solaris' dbx)
(2).
- The perl version supported by DDD is now 5.8.x. The
perl debugger changed between perl 5.6.x and perl 5.8.0,
which made this update necessary. This change is not
backwards-compatible. If it is not possible to upgrade
your perl version to 5.8.x or newer, then you can simply
install the file "perl5db.pl" from a recent perl
distribution into your old perl tree.
- Through the maintenance menu ("ddd --maintenance"),
it now possible to get a leak check of ddd if ddd is run
under valgrind. This is only useful for ddd developers
(or anybody that wants to help making ddd better).
- Several minor bugs fixed, some memory leaks plugged,
more code clean-up done.
- A bug affecting platforms where the size of function
pointers is 16 has been fixed.
- The settings window now starts at a larger, more
reasonable size, and allows the user to resize it.
Build fixes
- The configure machinery has been updated to conform
more closely to the autoconf 2.5x requirements. Several
bugs have been fixed.
- libiberty (which provides missing standard functions)
is not linked by default anymore. configure has a new
option '--with-libiberty' that enables the libiberty
support if required. If nobody complains, libiberty will
be unbundled in a next version.
- The libiberty distributed with ddd has been upgraded
to the one included in GCC 3.4 20040116. It fixes some
configuration problems.
- Builds with GCC 3.4, with IBM xlC on AIX, with
Compaq/HP cxx on Tru64, on X11R5 based systems, with SGI
CC on IRIX should be OK.
- Builds on HP-UX should now work out-of-the-box. Motif
is linked statically and the Athena libraries are now
found by default.
- Builds without Motif/Lesstif available abort with an
adequate message.
- Builds with readline support now work. readline is
not bundled anymore.
- Builds without -DNDEBUG (i.e. with "assert" enabled)
now work. Default build enables assertions (i.e. -DNDEBUG
is not used).
- Several missing files in the distribution are now
included.
- Cygwin is supported again.
(1) Written by Dmitri Dmitrienko and integrated by
Rocky Bernstein.
(2) Thanks to Saurabh Tendulkar for his patch.
14 Dec 03 :
v1.0 Initial release for DDD v3.3.8 using LessTif
v0.93.91.
What's new in DDD 3.3.8?
- The settings, signals, themes, and status-display
windows are now resizable (if your window-manager can
resize transient dialog windows).
- The settings are now read correctly when using gdb
5.x and 6.0.
- A memory corruption has been fixed in
strclass.h.
- Several other memory management problems have been
fixed.
- configure options --enable-builtin-app-defaults and
--enable-builtin-vsllib should work again.
- Speed improvements, partly by avoiding the creation
of temporary objects.
- Bug fixes in perl mode, thanks to Christian Hattemer
and Peter Ernst.
- Builds on HPUX-10.20 now work OK (see the PROBLEMS
file).
- The libiberty distributed with ddd has been upgraded
to the one released with gcc-3.3.1. This helps DDD to
build on NetBSD.
Known
Problems
v3.3.9.
The text shown in the "Tip of the Day" dialogs
sometimes contains unusual characters, such as "@",
"¿" - this appears to be a LessTif bug, and is also
seen on other platforms.
v3.3.8.
Source
Code | Change
History | Known
Problems
|