GitHub
All our OpenSource projects have been migrated to GitHub.
Feel free to fork!
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.
Overview
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.
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.
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.