Books

Windows NT

Unix

GNU Software

Sun Solaris

Software

autoconf
documentation

automake
documentation

ccmalloc
memory profiler
Corba
See hints; MICO open-source ORB
CVS
local pointers and short instructions, manual, a local PDF version, Cyclic.com, more documentation; a replacement; a taxonomy of document version control, with some guidelines

ddd
home page
The Data Display Debugger (DDD) is a popular graphical user interface for command-line debuggers such as GDB, DBX, JDB, WDB, XDB, the Perl debugger, and the Python debugger. Besides ``usual'' front-end features such as viewing source texts, DDD has become famous through its interactive graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or views structure contents, updated each time the program stops. Using DDD, you can reason about your application by watching its data, not just by viewing it execute lines of source code.

doc++
home page
DOC++ is a documentation system for C/C++ and Java generating both, LaTeX output for high quality hardcopies and HTML output for sophisticated online browsing of your documentation. The documentation is extracted directly from the C++ header or Java class files.

ElectricFence
Detects out-of-bounds memory accesses. distribution, the original source?; also available as an RPM package for Linux and a whole list of places to find the package.

The man pages for ElectricFence, libefence(3), are slightly incomplete with respect to the EF_PROTECT_FREE environment variable. Setting it to 0, the default, still protects the storage block, but makes it available for reallocation. Setting it to >0 will protect and prevent reallocation, which can be helpful in catching some of the more insidious defects.

indent
Reformats C and C++ code.

LeakTracer
LeakTracer is a small tool I wrote when checking a C++ program for memory leaks. I couldn't get dmalloc to display what I wanted, and I just saw the __builtin_return_address gcc-extension mentioned. To use LeakTracer, run your program using the provided LeakCheck script. It uses the LD_PRELOAD feature to "overlay" some functions on top of your functions (no recompile needed). If your platform does not support LD_PRELOAD, you can add the LeakTracer.o object file to the objects in your Makefile and run your application. LeakTracer uses gdb to print out the exact line where the memory was allocated and not freed - this of course means you have to free all dynamically allocated data. LeakTracer also overrides the global operator new and operator delete - this will give problems if you override them as well. LeakTracer traces only new/new[] and delete calls - it does not look at malloc/free/realloc.

libmalloc
Detects memory leaks and out-of-bounds accesses, but requires source code modification. FreeBSD

make
Gnu make (the version you get on CLIC and CS machines when typing make)

purify
The default purify only works on Solaris 2.6, /import/pkg/pure-4.5b/purify-4.5-beta-L4-solaris2/purify for Solaris 2.7

truss
With -u libc, some versions show libraries, too. All calls are shown with four arguments, regardless of their true signature.

To use 8859-1 characters on your terminal, include

stty cs8 -istrip
in your .login file. Then, you can enter these characters on a Sun keyboard by typing the "Compose" key, followed by two keys. For example, is produced by Compose, " and a (or a and "). Do not hold down the compose key while typing the two characters.

For PCs running Windows, enable NumLock, so that the numberpad produces numbers. Then, you can type "ALT+0xyz", where "xyz" are three digits. You can get the digit numbers from the character map program available under the "Accessories" menu.


Last updated by Henning Schulzrinne