(ddd.info)Summary


Next: Sample Session Prev: Top Up: Top
Enter node , (file) or (file)node

Summary of DDD
**************

The purpose of a debugger such as DDD is to allow you to 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.

   Technically speaking, DDD is a front-end to a command-line debugger
(called "inferior debugger", because it lies at the layer beneath DDD).
DDD supports the following inferior debuggers:

   * To debug _executable binaries_, you can use DDD with "GDB", "DBX",
     "Ladebug", or "XDB".

        - "GDB", the GNU debugger, is the recommended inferior debugger
          for DDD.  GDB supports native executables binaries originally
          written in C, C++, Java, Modula-2, Modula-3, Pascal, Chill,
          Ada, and FORTRAN.  (*note Using GDB with Different Languages:
          (gdb)Languages, for information on language support in GDB.)

        - As an alternative to GDB, you can use DDD with the "DBX"
          debugger, as found on several UNIX systems.  Most DBX
          incarnations offer fewer features than GDB, and some of the
          more advanced DBX features may not be supported by DDD.
          However, using DBX may be useful if GDB does not understand
          or fully support the debugging information as generated by
          your compiler.

        - As an alternative to GDB and DBX, you can use DDD with
          "Ladebug", as found on Compaq and DEC systems.  Ladebug
          offers fewer features than GDB, and some of the more advanced
          Ladebug features may not be supported by DDD.  However, using
          Ladebug may be useful if GDB or DBX do not understand or
          fully support the debugging information as generated by your
          compiler.(1)

        - As another alternative to GDB, you can use DDD with the "XDB"
          debugger, as found on HP-UX systems.(2).

   * To debug _Java byte code programs_, you can use DDD with "JDB",
     the Java debugger, as of JDK 1.1 and later.  (DDD has been tested
     with JDK 1.1 and JDK 1.2.)

   *   * To debug _Bash programs_, you need a version Bash that supports
     extended debugging support; see `http://bashdb.sourceforge.net'.
     It important to make sure you get the right version of the
     debugger that matches your version of Bash. For bash version
     2.05b, you need a patched version of bash as well as the debugger
     for bash.

   * To debug _GNU Make Makefiles_, you need a version GNU Make that
     supports extended debugging support. To get this enhanced version
     see `http://bashdb.sourceforge.net/remake'.

   * To debug _Perl programs_, you can use DDD with the "Perl
     debugger," as of Perl 5.003 and later.

   * To debug _Python programs_, you need an extended version of the
     python debugger called "`pydb'". To get this, see
     `http://bashdb.sourceforge.net/pydb'.

   Note: Choosing an Inferior Debugger, for choosing the appropriate
inferior debugger.  Note: Sample Session, for getting a first
impression of DDD.

About this Manual
Getting copies in various formats.
Typographic Conventions
Typographic conventions.
Free Software
How to copy and redistribute DDD.
Getting DDD
How to obtain copies of DDD.
Contributors
Who has done all this?
History
Old DDD versions.
   ---------- Footnotes ----------

   (1) Within DDD (and this manual), Ladebug is considered a DBX
variant.  Hence, everything said for DBX also applies to Ladebug,
unless stated otherwise.

   (2) XDB will no longer be maintained in future DDD releases.  Use a
recent GDB version instead.


automatically generated by info2www version 1.2.2.9