# Install dmalloc with Homebrew, MacPorts, Nix, apt

Debug versions of system memory management routines. Version 5.6.5 via Homebrew; verified from local package data. Also installable with debian: sudo apt install libdmalloc-dev.

## Install

```sh
sudo av install brew:dmalloc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dmalloc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dmalloc
```

  Evidence: MacPorts ports tree: devel/dmalloc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#dmalloc
```

  Evidence: nixpkgs package indexes: pkgs/by-name/dm/dmalloc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- Debian apt (92%):

```sh
sudo apt install libdmalloc-dev
```

  Evidence: Debian stable package indexes: libdmalloc-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## Package facts

- **Package key:** brew:dmalloc
- **Package manager:** Homebrew
- **Version:** 5.6.5
- **Source summary:** Debug versions of system memory management routines
- **Homepage:** <https://dmalloc.com/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- dmalloc (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 5.6.5
## Project history and usage

Dmalloc is Gray Watson's debug memory allocation library, designed as a drop-in replacement for malloc, realloc, calloc, free, and related routines while adding runtime-configurable memory debugging.

### Project history

The manual carries copyright years from 1992 to 2020 and identifies version 5.6.5 as a December 2020 release. Its feature set reflects a long-lived C debugging niche: leak tracking, fence-post write detection, file and line reporting, statistics logging, and threaded-program support.

### Adoption history

Dmalloc's official documentation lists successful use across a wide range of Unix and non-Unix systems, including AIX, the BSDs, GNU/Hurd, HP-UX, IRIX, Linux, macOS, NeXT, OSF/DUX, SCO, Solaris, Ultrix, UnixWare, Windows, and Unicos on a Cray T3E.

### How it is used

Typical use links the dmalloc library into a C or C++ program, optionally includes dmalloc.h for file and line reporting, and uses the dmalloc utility plus the DMALLOC_OPTIONS environment variable to enable checks such as leak logging, heap verification, and abort-on-error behavior.

### Why package nerds care

Dmalloc is historically interesting because it predates many modern sanitizers yet remains a compact, portable package-manager answer for C heap debugging. Its shell integration, runtime token model, and static-library workflow make it feel like classic Unix debugging infrastructure.

### Timeline

- 1992: Earliest copyright year in the official manual.
- 2020-12: Dmalloc manual identifies version 5.6.5.

### Related projects

- Dmalloc sits in the same practical debugging space as allocator wrappers, leak checkers, and compiler/runtime sanitizers, but its official documentation focuses on replacing the standard allocation routines directly.

### Sources

- <https://dmalloc.com/>
- <https://dmalloc.com/docs/dmalloc.html>
- <https://github.com/j256/dmalloc>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - libdmalloc-dev - 5.5.2-14+b3: normalized package name match | Debian stable package indexes: libdmalloc-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | debug memory allocation library (development files and doc) | http://dmalloc.com/
- Debian apt - libdmalloc5 - 5.5.2-14+b3: normalized package name match | Debian stable package indexes: libdmalloc5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | debug memory allocation library | http://dmalloc.com/
- Nix - dmalloc: normalized package name match | nixpkgs package indexes: pkgs/by-name/dm/dmalloc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libdmalloc-dev - 5.5.2-14build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libdmalloc-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | debug memory allocation library (development files and doc) | http://dmalloc.com/
- Ubuntu apt - libdmalloc5 - 5.5.2-14build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libdmalloc5 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | debug memory allocation library | http://dmalloc.com/
- MacPorts - dmalloc: normalized package name match | MacPorts ports tree: devel/dmalloc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/dmalloc.yml](https://github.com/mxcl/pkgdb/blob/main/combined/dmalloc.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
