DDD News -*- text -*- ******** DDD-3.3.12 ========== - Consolidated support for pydb, bashdb and remake. - Miscellaneous bug fixes. - DDD development is now hosted by the GNU project at http://savannah.gnu.org/projects/ddd - You can download the latest code from the Subversion repository at savannah.gnu.org. - The preferred location for bug reports is the Savannah bug tracker `http://savannah.gnu.org/bugs/?group=ddd'. - The current maintainer of DDD is Peter Wainwright . ========== DDD-3.3.12-rc2 - DDD can once more locate its own core file when it crashes, even on Linux systems where the core file may not be named "core". DDD-3.3.12-rc1 - Fixed several segmentation faults. - Fixed a few regressions affecting gdb support after merging the pydb code. DDD-3.3.12-test6 - Remove pydb in this directory. Use http://bashdb.sourceforge.net/pydb instead - "cont"inue button for pydb was broken. - Start informing ddd that bash and pydb now have (or will have in the next release) "commands", and "display". - LynxOS support via Olli Savia - Add x86 theme for changing display expressions to x86 registers and flag-bits. Change Data/Memory examine behavior when used on Intel registers so that %reg is the same as $reg. Contributed by Zarko Zivanov. DDD-3.3.12-test5 - Had broken gdb support - Add vsllib/DEMOS into distribution - Changes Makefiles to make "distcheck" or VPATH, or building outside of source tree work better (It's still not complete though). - GNU Make, Python pydb and bashdb support improved: * command completion for bashdb and pydb (via gdb "complete") * possibly a better test for debuggers using "bashdb" (vs. "bash") and "remake" (vs. "make") * pydb and bashdb also now have built-in "cd" and "pwd" commands - use them. * deal with bogus file name that comes up in tracebacks. Require a "run" to get pydb stack set correctly. - Note ========== DDD-3.3.12-test4 - Minor bug fixes, mostly for Python support. ========== DDD-3.3.12-test3 - Extended python debugger support. Sort of a merge of pdb.py, ddd's old pydb.py and new things. ========== ========== DDD-3.3.12-test2 - GNU Make (mdb) support. ========== ========== DDD-3.3.12-test ========== - Fixed a bug parsing the gdb annotations -- this should improve the source code tracking accuracy. - Fixed a bug where gdb annotations were sent to the command window. - GNU Make debugger support - Fixes to Bash debugger (remove stack movement crashes, show breakpoints), better word parsing, e.g ${foo[@]} - Fixed a couple of warnings. - DDD now starts up much faster, and exits more cleanly (1). - DDD now builds and runs on LynxOS (2). (1) Thanks to Doug Graham for his two patches. (2) Thanks to Olli Savia for his patch. DDD-3.3.11 ========== * New features and minor improvements - A bug in DBX mode introduced in release 3.3.10 has been fixed. - A bug which prevented DDD from properly displaying ISO-8859-1 characters (and probably other character sets too) under Motif has been fixed (1) (1) Thanks to Ted Creedon for his patch. DDD-3.3.10 ========== * New features and minor improvements - More fixes for perl 5.8.x -- it's now a lot more usable. - Fixes for Sun's SunONE Studio dbx (1). Build with -DHAVE_SUNDBX is necessary. Improvements for automatic detection of Sun DBX are welcome. - Fixes for MacOS X (mainly workarounds for bugs in gdb) (2). * Build fixes - automake 1.9 is now the minimum requirement. This affects only builds from CVS repository. - A warning is emitted if a version of g++ older than 3.1 is used. - libiberty is neither linked nor bundled anymore. - GNU libtermcap is not bundled anymore. A termcap like library (such as ncurses) is now required to build ddd. configure has '--with-termlib=LIB' and '--with-termlib-libraries=DIR' to offer a finer control on the choice of library. (1) Thanks to Ingo Dahm for this patch. (2) Thanks to Terry Teague. DDD-3.3.9 ========= * New features and minor improvements - Support for PHP debugger has been added (1). This is essentially not tested. - Source files in subdirectories should be located automatically when using dbx (tested on Solaris' dbx) (2). - The perl version supported by DDD is now 5.8.x. The perl debugger changed between perl 5.6.x and perl 5.8.0, which made this update necessary. This change is not backwards-compatible. If it is not possible to upgrade your perl version to 5.8.x or newer, then you can simply install the file "perl5db.pl" from a recent perl distribution into your old perl tree. - Through the maintenance menu ("ddd --maintenance"), it now possible to get a leak check of ddd if ddd is run under valgrind. This is only useful for ddd developers (or anybody that wants to help making ddd better). - Several minor bugs fixed, some memory leaks plugged, more code clean-up done. - A bug affecting platforms where the size of function pointers is 16 has been fixed. - The settings window now starts at a larger, more reasonable size, and allows the user to resize it. * Build fixes - The configure machinery has been updated to conform more closely to the autoconf 2.5x requirements. Several bugs have been fixed. Minimum requirements: autoconf 2.59, automake 1.7.9, libtool 1.5. - libiberty (which provides missing standard functions) is not linked by default anymore. configure has a new option '--with-libiberty' that enables the libiberty support if required. If nobody complains, libiberty will be unbundled in a next version. - The libiberty distributed with ddd has been upgraded to the one included in GCC 3.4 20040116. It fixes some configuration problems. - Builds with GCC 3.4, with IBM xlC on AIX, with Compaq/HP cxx on Tru64, on X11R5 based systems, with SGI CC on IRIX should be OK. - Builds on HP-UX should now work out-of-the-box. Motif is linked statically and the Athena libraries are now found by default. - Builds without Motif/Lesstif available abort with an adequate message. - Builds with readline support now work. readline is not bundled anymore. - Builds without -DNDEBUG (i.e. with "assert" enabled) now work. Default build enables assertions (i.e. -DNDEBUG is not used). - Several missing files in the distribution are now included. - Cygwin is supported again. (1) Written by Dmitri Dmitrienko and integrated by Rocky Bernstein. (2) Thanks to Saurabh Tendulkar for his patch. DDD-3.3.8 ========= - The settings, signals, themes, and status-display windows are now resizable (if your window-manager can resize transient dialog windows). - The settings are now read correctly when using gdb 5.x and 6.0. - A memory corruption has been fixed in strclass.h. - Several other memory management problems have been fixed. - configure options --enable-builtin-app-defaults and --enable-builtin-vsllib should work again. - Speed improvements, partly by avoiding the creation of temporary objects. - Bug fixes in perl mode (1). - Builds on HPUX-10.20 now work OK (see the PROBLEMS file). - The libiberty distributed with ddd has been upgraded to the one released with gcc-3.3.1. This helps DDD to build on NetBSD. (1) Thanks to Christian Hattemer and Peter Ernst. DDD-3.3.7 ========= - libiberty was missing from the 3.3.6 release - libtermcap was built but not linked on systems which needed it (suse-axp-linux 8.1; probably others too) DDD-3.3.6 ========= - Andreas Zeller handed the role of maintainter to Andrew Gaylard - The source tree was merged back from the bashdb project's CVS into the original ddd CVS DDD 3.3.3-3.3.5 =============== - Major changes to get this to compile with modern auto-tools, Bison, Flex, and C++ STL. (1) - Support for Bash debugging. (2) - Several memory leaks have been fixed. Less temporaries are generated (3). This fork of the code put together by Daniel Schepler and Rocky Bernstein (1) Thanks to Daniel Schepler ! (2) Thanks to Rocky Bernstein ! (3) Thanks to Arnaud Desitter ! DDD 3.3.2 ========= DDD 3.3.2 brings a few usage improvements and minor bug fixes: - Options are automatically saved when exiting DDD. - Temporary sessions in Gnome and KDE are now properly deleted. - The Tip of the Day comes with an option to turn it off. - Alias detection is now on by default. - The splash screen no longer bypasses all window controls. - Major code clean-up, including plugging several memory leaks (1). - GCC 3.0 should properly compile DDD. - ChangeLog files are back. (1) Thanks to Arnaud Desitter ! DDD 3.3.1 ========= DDD 3.3.1 brings a couple of minor bug fixes: - The option to create new displays `left-to-right' is restored upon startup. - Fortran struct members are accessed as `A%B' instead of `A.B'. - Certain structure changes in plotted displays no longer crash DDD. - You can specify the top-level geometry via `-geometry'. - The `pydb' debugger has been fixed to work with recent Python releases. - Ornamented Perl debugger prompts are handled correctly. - DDD honors the TMPDIR environment variable for creating temporary files. - The `configure' script identifies recent hardware configurations. - Minor compilation problems with GCC 2.7.2 have been fixed. - Minor compilation problems with GCC 3.0 (prerelease) have been fixed. - Minor compilation problems with Sun CC have been fixed. - Minor potential problems with 64 bit pointers have been fixed. DDD 3.3 ======= DDD 3.3 brings data themes, debugger interaction while the program is running, support for JDB 1.2, and several bug fixes. Data Themes ----------- - DDD supports _data themes_ - modifiers that change the appearance of program data. Try `Data->Themes'. - Data themes included with this release are: * Show specific expressions in a smaller font (useful for arrays). * Show display titles in a smaller font. * Suppress specific structure members or expressions. - New data themes can be defined by users and installed at run-time. - More themes are in preparation, such as rendering of C++ STL data structures. Debuggers and Languages ----------------------- - JDB as of JDK 1.2 is supported. - GDB 5.0 is supported. - You can use `ddd --wdb' to have DDD startup with WDB. - When choosing a debugger automatically, DDD will try `wdb' if `gdb' is not available. - WindRiver's version of GDB (within the Tornado/vxworks environment) is supported. See the DDD Reference, Section `WindRiver GDB' for details. (5) - SGI DBX, Sun DBX, other DBXes as well as Compaq Ladebug can now attach to processes via DDD. (1) - Parsing of GDB breakpoint information has been improved. (2) - Parsing of Perl breakpoint information has been improved. - Perl hash keys containing spaces are supported. (8) - Using the separate execution window now improves parsing debugger output. See the DDD documentation for the new `bufferGDBOutput' resource. Examining Data -------------- - New displays can be created left-to-right. See `Edit => Preferences => Data => Placement'. (6) - Handling of Ladebug array output has been improved. (7) - Handling of multiple C++ base classes has been improved. - Names that are keywords in some programming languages (such as `interface', `object', `class') should no longer impose problems when occurring in programs of other languages. - Several memory leaks have been plugged. (1) User Interface -------------- - The default DDD font has been changed from `helvetica-bold' to `helvetica-medium', thus integrating better into KDE and GNOME environments. - You can interact with the debugger while the program is running; DDD automatically interrupts and resumes debuggee execution. See the `stopAndContinue' resource for details. - Undo and Redo now apply on logical groups of commands. If an action caused multiple commands, Undo will undo them with one click. - Interrupts (Ctrl+C) from the controlling TTY can be issued multiple times. - With LessTif, the source window no longer scrolls around when setting or deleting breakpoints. - With LessTif, combo boxes (drop-down text boxes) no longer shrink. - With LessTif, Text selection works better. - With LessTif, typing in the debugger console works better. - With LessTif, switching the register set works. - Drag and Drop of breakpoints in the machine code is supported. - Names of debuggee files and directories may contain spaces. - Spin boxes (used to step values) have been slightly improved. - Forwarding of keyboard events from the source window into the debugger console is now optional. See the `consoleHasFocus' resource. (10) Printing -------- - PostScript printing includes background colors (e.g. changed values) Installation ------------ - PLEASE NOTE: Several installation details have changed. Be sure to read the `INSTALL' file for new installation instructions. - Several DDD resources (such as the application defaults) now reside in separate files, reducing DDD executable size and memory footprint by about 300k. - To run DDD from the build directory (i.e. before installing), you must set the DDD_HOME and XUSERFILESEARCH environment variables. See the `INSTALL' file for details. - The configure `--enable-rpath' option allows you to specify a path to be searched for dynamic libraries at run-time. - DDD Makefiles are now GNU standards-compliant and generated by automake. - DDD Makefiles use libtool for generic shared library support. - A bad dependency on $(SHELL) in the Makefile has been fixed. This caused unnecessary calls of flex and bison in the distribution. (9) - A bad wildcard use in the Makefile has been fixed. (3) - A compilation problem in `PannedGE.C' with some GCC variants has been fixed. - DDD now compiles cleanly even with `gcc -Wwrite-strings'. This avoids several warnings/errors on C++ compilers other than GCC. (1) - The `--configuration' option now gives more information about the compiler being used to compile DDD. (1) - ddd.texi rules in the Makefile have been fixed. (4) - The release includes the `libiberty' and `readline' packages as of GDB 5.0. License ------- - All remaining parts of DDD that used the GNU Library Public General License (LGPL) have been changed to use the GNU General Public License (GPL) instead. - The DDD Manual is released under the new GNU Free Documentation License. Tracking Code Changes --------------------- - This release no longer includes `ChangeLog' files. Instead, you can directly access old and recent DDD versions (including a list of all changes) via the public CVS interface at http://sourceforge.net/projects/ddd/ - You can also download most recent DDD versions from the public CVS interface. See the file `README-CVS' in the CVS archive for details. Acknowledgments --------------- Thanks to: (1) Arnaud Desitter (2) Hiro Sugawara (3) Yann Dirson (4) H. Nanosecond (5) Gary Cliff (6) Danny Van Elsen (7) Philippe Midol-Monnet (8) Felipe Rivera (9) Thomas Anders (10) Colin DDD 3.2.1 ========= DDD 3.2.1 brings some minor bug fixes and major LessTif bug workarounds. - [LessTif] Helpers (such as uncompressing the DDD manual) work fine. - [LessTif] The `Print' dialog (esp. printing to file) works fine. - [LessTif] Restarting DDD (while saving settings) works fine. - [LessTif] Small fixes for building with LessTif on SGI. - [Perl] In the data display, Perl hash keys are properly quoted. - [Ladebug] More Ladebug variants are supported. - [Ladebug] `Edit -> Ladebug settings' should work. - A string pointer error on 64 bit machines has been fixed. - Minor bugs with clustered displays have been fixed. - DDD makes more attempts in locating the initial main function. - DDD PostScript documentation can be printed on multiple pages per sheet. DDD 3.2 ======= DDD 3.2 brings a new documentation and several minor improvements. DDD is now a GNU program ------------------------ - Starting with this release, DDD is an official GNU program, distributed by the Free Software Foundation. This brings a number of administrative changes: * DDD is distributed as source only using GNU FTP sites and mirrors. * The DDD WWW page is now `http://www.gnu.org/software/ddd/'. * The DDD mailing addresses are now `bug-ddd@gnu.org' (for bug reports) and `ddd@gnu.org' (for announcements, discussions, or anything else). You can subscribe to these lists by sending an e-mail to `bug-ddd-request@gnu.org' and `ddd-request@gnu.org', respectively. The old mailing list addresses are now just aliases for the new ones. Documentation ------------- - There is a new DDD manual, generated from Texinfo source, and coming in HTML, PDF, PostScript, Info, as well as plain text format. Debuggers and Languages ----------------------- - This release contains partial support for the Compaq/DEC `Ladebug' debugger. Please send in bug reports listing remaining problems. - Parsing of JDB data has been improved. - DBX prompts for object file names are recognized. User Interface -------------- - `Breakpoint Properties', `Define Command', and `Debugger Settings' have an `Apply' button that applies changes to text fields. - In TTY mode, you can edit and complete the command line as in GDB. (Uses GNU readline library.) - Ctrl+E moves the cursor to the end of the line. For a `Run' shortcut, use F2/F3 or Shift+Ctrl+E. - DDD uses the locale as specified by the environment (such as $LANG). This allows input of locale characters in DDD dialogs; error messages may also come up in your locale. If you experience any problems, set LANG=C when invoking DDD. Plotting -------- - If you have several indexed variables in a cluster (such as X[1], X[3], and X[5]), DDD plots the cluster as 2-D plot, where the X axis shows the index, and the Y axis shows the values. This is useful for plotting array slices (see below). Source Navigation ----------------- - Using GDB, `Open Source' no longer automatically reads all shared libraries of the debuggee; this took too much time with some programs. There is an additional button that loads libraries. Data exploration ---------------- - You can rotate structs, saving space by omitting the member names. A rotated struct looks very much like a horizontal array. - The last rotation setting is used for new displays and is saved together with other DDD options. - Array slices `ARRAY[FROM..TO]' are much better supported: * By default, the displayed values are clustered and displayed like an ordinary array. * Array slices can be plotted, too (see `Plotting', above). - You can use the FROM..TO notation in arbitrary values, and also multiple times; `graph display 1..5 * 1..5' creates a multiplication table. - To select multiple displays, it suffices that the selection rectangle touches a display (rather than enclosing it entirely). - The Display Editor has buttons for clustering and unclustering displays. Running the Program ------------------- - Breakpoint commands are also supported for DBX, Perl, and XDB. - In Perl, DDD supports temporary breakpoints. Settings -------- - DDD saves the GDB source directory path with the current session. - DDD saves the JDB class path only with the current session. DDD 3.2 also incorporates all improvements and bug fixes from earlier releases. For older news, see the file `NEWS-OLD' in the DDD distribution. $Id$