ddd(1) GNU Tools ddd(1)
ddd, xddd - The Data Display Debugger
ddd [--help] [--gdb] [--dbx] [--ladebug] [--wdb] [--xdb] [--jdb] [--pydb] [--perl]
[--debugger name] [--[r]host [username@]hostname]] [--trace] [--version] [--config-
uration] [options...] [prog[core|procID]]
but usually just
DDD is a graphical front-end for GDB and other command-line debuggers. Using DDD, you can
see what is going on "inside" another program while it executes--or what another program
was doing at the moment it crashed.
DDD can do four main kinds of things (plus other things in support of these) to help you
catch bugs in the act:
o Start your program, specifying anything that might affect its behavior.
o Make your program stop on specified conditions.
o Examine what has happened, when your program has stopped.
o Change things in your program, so you can experiment with correcting the effects of one
bug and go on to learn about another.
"Classical" UNIX debuggers such as the GNU debugger (GDB) provide a command-line interface
and a multitude of commands for these and other debugging purposes. DDD is a comfortable
graphical user interface around an inferior GDB, DBX, Ladebug, XDB, JDB, Python debugger,
or Perl debugger.
DDD is invoked with the shell command ddd. You can open a program to be debugged using
`File->Open Program' (the `Open Program' item in the `File' menu. You can get online help
at any time using the `Help' menu; for the first steps, try `Help->What Now?'. Quit DDD
More information on DDD is contained in the DDD Manual. You can read the text-only ver-
sion in DDD (via `Help->DDD Reference') or in Emacs (as Info file). Full-fledged HTML,
PostScript, and PDF versions are available online via the DDD WWW page,
These are the most important options used when starting DDD. All options may be abbrevi-
ated, as long as they are unambiguous; single dashes may also be used. DDD also under-
stands the usual X options such as `-display' or `-geometry'; see X(1) for details.
All arguments and options not handled by DDD are passed to the inferior debugger. To pass
an option to the inferior debugger that conflicts with an X option, or with a DDD option
listed here, use the `--debugger' option, below.
Show the DDD configuration settings and exit.
--dbx Run the DBX debugger as inferior debugger.
Invoke the inferior debugger name. This is useful if you have several debugger
versions around, or if the inferior debugger cannot be invoked as `gdb', `dbx',
`xdb', `jdb', `pydb', or `perl' respectively.
This option can also be used to pass options to the inferior debugger that would
otherwise conflict with DDD options. For instance, to pass the option `-d direc-
tory' to XDB, use:
ddd --debugger "xdb -d directory"
If you use the `--debugger' option, be sure that the type of inferior debugger is
specified as well. That is, use one of the options `--gdb', `--dbx', `--xdb',
`--jdb' `--pydb', or `--perl' (unless the default setting works fine).
--gdb Run the GDB debugger as inferior debugger.
--help Give a list of frequently used options. Show options of the inferior debugger as
Invoke the inferior debugger directly on the remote host hostname. If username is
given and the `--login' option is not used, use username as remote user name.
--jdb Run JDB as inferior debugger.
Run Ladebug as inferior debugger.
--perl Run Perl as inferior debugger.
--pydb Run PYDB as inferior debugger.
Run the inferior debugger interactively on the remote host hostname. If username
is given and the `--login' option is not used, use username as remote user name.
Show the interaction between DDD and the inferior debugger on standard error. This
is useful for debugging DDD. If `--trace' is not specified, this information is
written into `$HOME/.ddd/log', such that you can also do a post-mortem debugging.
Show the DDD version and exit.
--wdb Run the WDB debugger as inferior debugger.
--xdb Run XDB as inferior debugger.
A full list of options, including important options of the inferior debugger, can be found
in the DDD manual.
X(1), gdb(1), dbx(1), wdb(1), xdb(1), perldebug(1)
`ddd' entry in info.
`gdb' entry in info.
Debugging with DDD: User's Guide and Reference Manual, by Andreas Zeller.
Using GDB: A Guide to the GNU Source-Level Debugger, by Richard M. Stallman and Roland H.
Java Language Debugging, at http://java.sun.com/ (and its mirrors) in /prod-
The Python Language, at http://www.python.org/ and its mirrors.
DDD--A Free Graphical Front-End for UNIX Debuggers, by Andreas Zeller and Dorothea Luetke-
haus, Computer Science Report 95-07, Technische Universitaet Braunschweig, 1995.
DDD - ein Debugger mit graphischer Datendarstellung, by Dorothea Luetkehaus, Diploma The-
sis, Technische Universitaet Braunschweig, 1994.
The DDD FTP site,
The DDD WWW page,
The DDD Mailing List,
For more information on this list, send a mail to
This manual page is Copyright (C) 2001 Universitaet Passau, Germany.
Permission is granted to make and distribute verbatim copies of this manual page provided
the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual page under
the conditions for verbatim copying, provided that the entire resulting derived work is
distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual page into another
language, under the above conditions for modified versions, except that this permission
notice may be included in translations approved by the Free Software Foundation instead of
in the original English.
DDD 3.3.1 2001-01-15 ddd(1)