The extended C/C++ Dynamic Memory Control and Debug Library XMEM is a replacement library for malloc/free and new/delete to find memory leaks and other memory related errors in C/C++ code. The implementation of XMEM is influenced and inspired from various sources like the authors personal long time experience as software developer, articles and other software development and programming journals about dynamic memory allocation problems, public available source code and features provided by commercial tools. For more information about memory debugging and a list of related tools click here.
XMEM is easy to use: Include the header file xmem.h in your source files, add the implementation file xmem.c or xmem.cpp to your project, set the XMEM defines and recompile and link your project. XMEM is highly configurable and it provides extensive error and problem reporting and call trace logging. It is usable on different 16 / 32 / 64 bit platforms like all Windows versions (Windows 7, Vista, XP, 2000), 16 bit DOS, 32 bit extended DOS, 32 / 64 bit Unix or Linux with many compilers.
The Windows 7/XP/Vista/2000 C++ version of XMEM can be configured to use the function call interception and redirection technology Detours, which is developed by Microsoft Research Laboratories and freely available from there.
The Windows 7/XP/Vista/2000 C++ version of XMEM can also be configured to do call stack tracing based on the freely available StackWalker from The Code Project.
For the Windows 7/XP/Vista/2000 C++ version of XMEM there are also examples provided that combine XMEM with Aspect-Oriented Software Development / Programming, in this case with AspectC++.
For more information about XMEM have a look into the XMEM Manual (PDF).
XMEM has been developed since 1987 and is used in the development of my other tools.
XMEM at SourceForge.net
Download XMEM source code from SourceForge.net (16.09.2010)