Dmalloc
Debug Malloc memory allocation debugging C library
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 project is written primarily in C, distributed under the ISC License license, first published in 2018. Key topics include: c, debug, memory, memory-leak, memory-leak-detection.
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
./configureto configure the library. -
Run
make installto 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 --usageto 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 file.
Contributors
Showing top 6 contributors by commit count.
