Memory Allocation Checker

Memcheck provides the ability to fault on pointer overrun (read or write) or freed pointer deference (read or write), logs double free and realloc of already freed pointers and memory not freed on exit, checks for pointer underrun on free and realloc, optionally reverses the behavior of overrun and underrun, "churns" reallocations to always return a different pointer, and logs pointer overruns instead of faulting. It has a very small performance impact, with the tradeoff of a large memory footprint. It includes a validation test suite to verify correctness of the library. It is tested on a variety of architectures, including Alpha, ARM, HPPA, PPC, ix86, IA64, rs6000, S390, SPARC, and SPARC64. It is tested on a variety of platforms, including OSF, FreeBSD, NetBSD, OpenBSD, Linux, HP/UX, Mac OSX, AIX, SCO, and Solaris.

Tags Software Development Debuggers
Licenses GPL
Operating Systems POSIX Solaris Linux HP-UX BSD OpenBSD NetBSD FreeBSD AIX Mac OS X
Implementation C

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  08 Jul 2006 14:12
  • Rrelease-after

Changes: Some missing backtraces were fixed. An atexit replacement was implemented to catch allocations that are freed by previously installed atexit handlers. Deeper backtraces are stored, and internal recursions are handled.

  • Rrelease-mid
  •  17 Jul 2004 21:14
  • Rrelease-after

Changes: This release fixes a bug by removing a limitation of how many reallocs of the same block memcheck could handle properly.

  • Rrelease-mid
  •  28 Jul 2003 09:04
  • Rrelease-after

Changes: The build system was reverted to use a non-CVS version of libtool/autoconf, since the CVS version caused shared libraries to be created without the '.so' extension in the name. Partial support for the sparc64-unknown-linux platform was added. The "Never freed" message is no longer written at the termination of the application in a synchronous manner. This results in a significant speed-up at process termination.

Changes: Two new optional features are now available: logging of "large" allocations and deliberately running out-of-memory. Stacktraces are now supported on systems with glibc. The amount of logging can now be controlled. Most of the previously partially-supported platforms are now completely supported. New platforms supported include i386-pc-sco3.2v5.0.4, s390-ibm-linux-gnu, sparc-unknown-netbsdelf1.5, and x86_64-unknown-linux-gnu. Configuration is now done with a single MEMCHECK environment variable.

No changes have been submitted for this release.

No-screenshot

Project Spotlight

OSC for MZScheme

An MZScheme implementation of the Open Sound Control protocol.

8fc3d3dec999b6f08dc9ed088c5dcc54_thumb

Project Spotlight

Geomajas

A Web mapping GIS software with editing capabilities.