ddd - The Data Display Debugger
|ddd||[--help] [--gdb] [--dbx] [--ladebug] [--wdb] [--xdb] [--jdb] [--pydb] [--perl] [--debugger name ] [--[r]host [[ username @ ] hostname ]] [--trace] [--version] [--configuration] [ 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.
“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 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.|
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 using ‘File->Exit’.
More information on DDD is contained in the DDD Manual. You can read the text-only version 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 abbreviated, as long as they are unambiguous; single dashes may also be used. DDD also understands the usual X options such as ‘-display’ or ‘-geometry’; see X(1) for details.
A full list of options, including important options of the inferior debugger, can be found in the DDD manual.
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 directory’ 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 well.|
|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.|
|--trace||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.|
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. Pesch.
Java Language Debugging , at http://java.sun.com/ (and its mirrors) in /products/jdk/1.1/debugging/
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 Luetkehaus, Computer Science Report 95-07, Technische Universitaet Braunschweig, 1995.
DDD - ein Debugger mit graphischer Datendarstellung , by Dorothea Luetkehaus, Diploma Thesis, 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 © 2001 Universitaet Passau, Germany and © 2001-2004 Free Software Foundation, Inc.
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.