Man Linux: Main Page and Category List


       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    program


       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

       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

       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 using

       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.

       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.

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

              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.

              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

              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

       Using GDB: A Guide to the GNU  Source-Level  Debugger,  by  Richard  M.
       Stallman and Roland H. Pesch.

       Java  Language  Debugging, at (and its mirrors) in

       The Python Language, at 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 (C) 2001 Universitaet Passau, Germany and
       (C) 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.