97 lines
1.7 KiB
C
97 lines
1.7 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1994-7 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
debug.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This file contains debugging macros for the binl server.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Colin Watson (colinw) 14-Apr-1997
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode - Win32
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#if DBG==1
|
||
|
// Leak detection
|
||
|
//
|
||
|
|
||
|
|
||
|
#define INITIALIZE_TRACE_MEMORY InitializeCriticalSection( &g_TraceMemoryCS );\
|
||
|
g_TraceMemoryTable = NULL;
|
||
|
#define UNINITIALIZE_TRACE_MEMORY DebugMemoryCheck( );\
|
||
|
DeleteCriticalSection( &g_TraceMemoryCS );
|
||
|
|
||
|
extern CRITICAL_SECTION g_TraceMemoryCS;
|
||
|
|
||
|
typedef struct _MEMORYBLOCK {
|
||
|
HGLOBAL hglobal;
|
||
|
DWORD dwBytes;
|
||
|
UINT uFlags;
|
||
|
LPCSTR pszComment;
|
||
|
struct _MEMORYBLOCK *pNext;
|
||
|
} MEMORYBLOCK, *LPMEMORYBLOCK;
|
||
|
|
||
|
extern LPMEMORYBLOCK g_TraceMemoryTable;
|
||
|
|
||
|
HGLOBAL
|
||
|
DebugAlloc(
|
||
|
UINT uFlags,
|
||
|
DWORD dwBytes,
|
||
|
LPCSTR pszComment );
|
||
|
|
||
|
void
|
||
|
DebugMemoryDelete(
|
||
|
HGLOBAL hglobal );
|
||
|
|
||
|
HGLOBAL
|
||
|
DebugMemoryAdd(
|
||
|
HGLOBAL hglobal,
|
||
|
DWORD dwBytes,
|
||
|
LPCSTR pszComment );
|
||
|
|
||
|
HGLOBAL
|
||
|
DebugFree(
|
||
|
HGLOBAL hglobal );
|
||
|
|
||
|
void
|
||
|
DebugMemoryCheck( );
|
||
|
|
||
|
HGLOBAL
|
||
|
TCReAlloc(
|
||
|
HGLOBAL mem,
|
||
|
DWORD size,
|
||
|
LPCSTR comment
|
||
|
);
|
||
|
|
||
|
|
||
|
#define TCAllocate(x,s) DebugAlloc(GMEM_ZEROINIT, x, s)
|
||
|
#define TCFree(x) DebugFree(x)
|
||
|
|
||
|
#define TCDebugPrint(x) DbgPrint x
|
||
|
|
||
|
#else // not DBG
|
||
|
|
||
|
#define INITIALIZE_TRACE_MEMORY
|
||
|
#define UNINITIALIZE_TRACE_MEMORY
|
||
|
|
||
|
#define TCDebugPrint(x)
|
||
|
#define TCAllocate(x,s) HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY, x)
|
||
|
#define TCFree(x) HeapFree(GetProcessHeap(),0,x)
|
||
|
#define TCReAlloc(x, y , z) HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, x,y)
|
||
|
|
||
|
|
||
|
#endif // not DBG
|