Important notice - 06 April 2013

All eosgarden activities have been closed forever, in order to focus on new projects.
The content of this website will stay as is, for archive purpose, but won't be updated anymore.
eosgarden software are still available for download, but are no longer maintained. Support is no longer available.


All our OpenSource projects have been migrated to GitHub.
Feel free to fork!
MEMDebug is a C library allowing to trace, inspect and debug the dynamic memory allocations inside a C program.
MEMDebug is realeased under the BSD License. Feel free to use it, and modify it at your convenience.


Amongst the main reasons why a C program may crash is memory management.
That kind of errors can be hard to track, depending on the application's logic. It can come from a pointer deallocated twice, a buffer overflow, a segmentation fault, a bus error, etc.
MEMDebug is C library that can be linked to a C program to provide assistance with memory debugging.
It can detect buffer overflows, double frees, segmentation faults, bus errors, and will give detailed informations about the error that occured and the current memory layout.
MEMDebug is currently compatible with the following memory allocation functions:
  • malloc
  • valloc
  • calloc
  • realloc
  • free
  • alloca
  • GC_malloc
  • GC_malloc_atomic
  • GC_calloc
  • GC_realloc
  • malloc_zone_malloc
  • malloc_zone_valloc
  • malloc_zone_calloc
  • malloc_zone_realloc
  • malloc_zone_free
Please read the documentation to learn how to use MEMDebug with your C projects.