Debug Malloc Library
Version 5.6.5 -- 12/28/2020
The debug memory allocation or "dmalloc" library has been designed as a drop in replacement for the system's
malloc
, realloc
, calloc
, 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, OSX, NeXT, OSF/DUX, SCO, Solaris, Sunos, 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.
Enjoy. Gray Watson
Documentation
See the INSTALL.txt file for building, installation, and quick-start notes.
Examine the html documentation for dmalloc. The source of all documation is the dmalloc.texi texinfo file which also can generate PDF hardcopy output with the help of the texinfo.tex file. You can download the full documentation package or read it online from the repository.
Quick Getting Started
This section should give you an idea on how to get going. See the more complete getting started documentation for more details.
-
Download the latest version of the library available from https://dmalloc.com/.
-
Run
./configure
to configure the library. -
Run
make install
to install the library on your system. -
Add an alias for the dmalloc utility. The idea is to have the shell capture the dmalloc program's output and adjust the environment.
Bash, ksh, and zsh users should add the following to their dot files:
function dmalloc { eval `command dmalloc -b $*`; }
Csh or tcsh users should add the following to their dot files:
alias dmalloc 'eval `\dmalloc -C \!*`'
-
Link the dmalloc library into your program and the end of the library list.
-
Enable the debugging features by (for example) typing
dmalloc -l logfile -i 100 low
. Usedmalloc --usage
to see other arguments to the dmalloc program. -
Run your program, examine the logfile, and use its information to help debug your program.
Thanks
The initial idea of this library came from Doug Balog. He and many other net folk contributed to the design, development, and continued maintenence of the library. My thanks goes out to them all.
ChangeLog Release Notes
See the ChangeLog.txt file.