SYNOPSIS

ddd

[\|--help\|] [\|--gdb\|] [\|--dbx\|] [\|--ladebug\|] [\|--wdb\|] [\|--xdb\|] [\|--jdb\|] [\|--pydb\|] [\|--perl\|] [\|--debugger name \|] [\|--[r]host [\|[\|.Iusername.B@].Ihostname\|]\|] [\|--trace\|] [\|--version\|] [\|--configuration\|] [\|.Ioptions...\|] [\|.Iprog.RB[\|.Icore\||\|.IprocID\|]\|]

but usually just

ddd

program

DESCRIPTION

\s-1DDD\s+1 is a graphical front-end for \s-1GDB\s+1 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.

\s-1DDD\s+1 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” \s-1UNIX\s+1 debuggers such as the \s-1GNU\s+1 debugger (\s-1GDB\s+1) provide a command-line interface and a multitude of commands for these and other debugging purposes. \s-1DDD\s+1 is a comfortable graphical user interface around an inferior \s-1GDB\s+1, \s-1DBX\s+1, Ladebug, \s-1XDB\s+1, \s-1JDB\s+1, Python debugger, or Perl debugger.

\s-1DDD\s+1 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 \s-1DDD\s+1 using `File\(->Exit'.

More information on \s-1DDD\s+1 is contained in the \s-1DDD\s+1 Manual. You can read the text-only version in \s-1DDD\s+1 (via `Help\(->DDD Reference') or in Emacs (as Info file). Full-fledged HTML, PostScript, and PDF versions are available online via the \s-1DDD\s+1 WWW page,

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

OPTIONS

These are the most important options used when starting \s-1DDD\s+1. All options may be abbreviated, as long as they are unambiguous; single dashes may also be used. \s-1DDD\s+1 also understands the usual X options such as `-display' or `-geometry'; see X(1) for details.

All arguments and options not handled by \s-1DDD\s+1 are passed to the inferior debugger. To pass an option to the inferior debugger that conflicts with an X option, or with a \s-1DDD\s+1 option listed here, use the `--debugger' option, below.

--configuration

Show the \s-1DDD\s+1 configuration settings and exit.

--dbx

Run the \s-1DBX\s+1 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 \s-1DDD\s+1 options. For instance, to pass the option `-d directory' to \s-1XDB\s+1, 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 \s-1GDB\s+1 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 \s-1JDB\s+1 as inferior debugger.

--ladebug

Run Ladebug as inferior debugger.

--perl

Run Perl as inferior debugger.

--pydb

Run \s-1PYDB\s+1 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 \s-1DDD\s+1 and the inferior debugger on standard error. This is useful for debugging \s-1DDD\s+1. 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 \s-1DDD\s+1 version and exit.

--wdb

Run the \s-1WDB\s+1 debugger as inferior debugger.

--xdb

Run \s-1XDB\s+1 as inferior debugger.

A full list of options, including important options of the inferior debugger, can be found in the \s-1DDD\s+1 manual.

RELATED TO ddd…

X(1), gdb(1), dbx(1), wdb(1), xdb(1), perldebug(1)

`\|ddd\|' entry in info.

`\|gdb\|' entry in info.

Debugging with \s-1DDD\s+1: User's Guide and Reference Manual , by Andreas Zeller.

Using \s-1GDB\s+1: A Guide to the \s-1GNU\s+1 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.

\s-1DDD\s+1–A Free Graphical Front-End for \s-1UNIX\s+1 Debuggers , by Andreas Zeller and Dorothea Luetkehaus, Computer Science Report 95-07, Technische Universitaet Braunschweig, 1995.

\s-1DDD\s+1 – ein Debugger mit graphischer Datendarstellung , by Dorothea Luetkehaus, Diploma Thesis, Technische Universitaet Braunschweig, 1994.

The \s-1DDD\s+1 \s-1FTP\s+1 site,

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

The \s-1DDD\s+1 \s-1WWW\s+1 page,

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

The \s-1DDD\s+1 Mailing List,

   [email protected]

For more information on this list, send a mail to

   [email protected] .

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.