ftp://sunsite.unc.edu/pub/linux/devel/debuggers/ddd-1.4* or /cdrom
This is a front-end to gdb (more advanced than the xgdb button helpers).
Fetch the precompiled elf binary (unless you have motif). You don't need the source, which is nice for 14.4K users, who want something to do whilst the other half isn't here. Note that one file is a "tar" file, the other is the compressed binary.
gunzip ddd-1.4b.gz file ddd-1.4b ./ddd-1.4bOpen a program that you have previously compiled with -g. Open the source, put a break point in main. Run the program with arguments (simply type run args in the gdb text window).
It will then stop at the breakpoint. Single step to a function, then try the data options by selecting: Edit Display (new), var_name ...
If the Display is for a pointer variable, select Dereference, and the struct will be displayed as a box of lines to the right of the pointer box. You may need to rescale the display. Redraws are slow.
If X11 is already running, and gdb is available, it just runs. To untar the sources and docs, use:
tar -C /tmp/pkgs_ftp -zxf ddd-1.4b.tar.gz
Personally, I find the statically linked version, quite slow. I don't know why this is, because I have no other Motif apps running, so there should be no real memory penalty. However the graphical layout of the data can help when browsing a piece of code. Moreover, this is one of the first versions of ddd, and generally things get better, as the developers move on from the basic (!!!) job of getting a GUI application together, and have more time to spend on the product itself.
I don't write much 'C' code, and don't use ddd much, but it doesn't crash, I just don't use it.