Debug Malloc Library
The debug memory allocation or "dmalloc" library has been designed as a drop in replacement for the system's
free and other memory management routines while providing powerful debugging
facilities configurable at runtime. These facilities include such things as memory-leak tracking, fence-post
write detection, file/line number reporting, and general logging of statistics.
The library is reasonably portable having been run successfully on at least the following operating systems: AIX, DGUX, Free/Net/OpenBSD, GNU/Hurd, HPUX, Irix, Linux, Mac OSX, NeXT, OSF/DUX, SCO, Solaris, Ultrix, Unixware, MS Windows, and Unicos on a Cray T3E. It also provides support for the debugging of threaded programs.
The package includes the library, configuration scripts, debug utility application, test program, and documentation. Online documentation as well as the full source is available at the dmalloc home page. Details on the library's mailing list are available there as well.
The author can be reached via his home page with questions or feedback. Please include the version number of the library that you are using, your machine and operating system types, and the value of the DMALLOC_OPTIONS environment variable.
Enjoy, Gray Watson
See the INSTALL file for building, installation, and quick-start notes.
Examine the dmalloc.html file which contains the user-documentation for the dmalloc subsystem. There also is an dmalloc.info file which can be installed in the emacs info directory and read with emacs/info or the info program available from the texinfo package at GNU archive sites. It is also suitable for reading as text. The source of all documation is the dmalloc.texi texinfo file which also can generate postscript or TeX hardcopy output with the help of the texinfo.tex file. You can download the full documentation package or read it online from the repository.
My argv library should have been included with this package (argv.[ch], argv_loc.h). I use it with all my binaries. It functions similar to the getopt routines in that it provides a standardized way of processing arguments. However, that is where the similarity ends. You have to write no C code to do the actual processing, it handles short -l and long --logfile style options, gives standard short and long usage messages, and many other features while trying to comply with POSIX specs.
The newest versions of the argv library are available online.
Many net folk contributed to the design, development, and overall library and my thanks goes out to them all.
If you have any questions, comments, or problems feel free to send me mail.