gallium: Memory debugging utilities.

There are no known tools for windows kernel memory debugging, so this is a
simple set of malloc etc wrappers.

Enabled by default on win32 debug builds
This commit is contained in:
José Fonseca
2008-03-23 18:38:10 +00:00
parent 312cbc5a5c
commit 732422f670
4 changed files with 215 additions and 2 deletions

View File

@@ -39,6 +39,22 @@ extern "C" {
#endif
#if defined(WIN32) && defined(DEBUG) /* memory debugging */
#include "p_debug.h"
#define MALLOC( _size ) \
debug_malloc( __FILE__, __LINE__, __FUNCTION__, _size )
#define CALLOC( _count, _size ) \
debug_calloc(__FILE__, __LINE__, __FUNCTION__, _count, _size )
#define FREE( _ptr ) \
debug_free( __FILE__, __LINE__, __FUNCTION__, _ptr )
#define REALLOC( _ptr, _old_size, _size ) \
debug_realloc( __FILE__, __LINE__, __FUNCTION__, _ptr, _old_size, _size )
#define GETENV( X ) NULL
#else
#ifdef WIN32
void * __stdcall
@@ -104,7 +120,7 @@ REALLOC( void *old_ptr, unsigned old_size, unsigned new_size )
#define GETENV( X ) NULL
#else /* WIN32 */
#else /* !WIN32 */
#define MALLOC( SIZE ) malloc( SIZE )
@@ -116,7 +132,8 @@ REALLOC( void *old_ptr, unsigned old_size, unsigned new_size )
#define GETENV( X ) getenv( X )
#endif /* WIN32 */
#endif /* !WIN32 */
#endif /* !DEBUG */
#define MALLOC_STRUCT(T) (struct T *) MALLOC(sizeof(struct T))