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:
@@ -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))
|
||||
|
||||
|
Reference in New Issue
Block a user