ddd(1)

NAME
ddd - The Data Display Debugger

SYNOPSIS

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 program

DESCRIPTION
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:

•   Start your program, specifying anything that might affect its behavior.

•   Make your program stop on specified conditions.

•   Examine what has happened, when your program has stopped.

•   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 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,

  http://www.gnu.org/software/ddd/

OPTIONS
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.

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.

--configuration
    Show the DDD configuration settings and exit.

--dbx
    Run the DBX debugger as inferior debugger.

--debugger name
    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.

--host [username@]hostname
    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.

--ladebug
    Run Ladebug as inferior debugger.

--perl
    Run Perl as inferior debugger.

--pydb
    Run PYDB as inferior debugger.

--rhost [username@]hostname
    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.

--version
    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.

SEE ALSO
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,

  ftp://ftp.gnu.org/gnu/ddd

The DDD WWW page,

  http://www.gnu.org/software/ddd/

The DDD Mailing List,

   ddd@gnu.org

For more information on this list, send a mail to

   ddd-request@gnu.org .

COPYRIGHT
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.