Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*****************************************************************************
* * $Workfile: debug.h $ * * Copyright (C) 1997 Hewlett-Packard Company. * Copyright (C) 1997 Microsoft Corporation. * All rights reserved. * * 11311 Chinden Blvd. * Boise, Idaho 83714 * *****************************************************************************/
#ifndef INC_DEBUG_H
#define INC_DEBUG_H
#include <crtdbg.h> // debug functions
#define in
#define out
#define inout
///////////////////////////////////////////////////////////////////////////////
// Global definitions/declerations
extern HANDLE g_hDebugFile;
///////////////////////////////////////////////////////////////////////////////
// function prototypes
#ifdef __cplusplus
extern "C" { #endif
void InitDebug( LPTSTR pszDebugFile ); void DeInitDebug(void); void debugRPT(char *p, int i); void debugCSect(char *p, int i, char *fileName, int lineNum, LONG csrc); #ifdef __cplusplus
} #endif
///////////////////////////////////////////////////////////////////////////////
// debug macros
#define MON_DEBUG_FILE __TEXT("c:\\tmp\\DebugMon.out")
#define MONUI_DEBUG_FILE __TEXT("c:\\tmp\\UIDbgMon.out")
#ifdef IS_INTEL
#define BREAK { if ( CreateFile((LPCTSTR)__TEXT("c:\\tmp\\breakmon.on"), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, \
FILE_ATTRIBUTE_NORMAL, 0) == INVALID_HANDLE_VALUE) \ { } \ else { { _asm { int 3h } } } \ } #else
#define BREAK {}
#endif
#if defined NDEBUG
#ifdef BREAK
#undef BREAK
#define BREAK
#endif
#endif
///////////////////////////////////////////////////////////////////////////////
// memory watch routines
class CMemoryDebug { public: CMemoryDebug(); ~CMemoryDebug();
// override new & delete to keep track of memory usage
void* operator new(size_t s); void operator delete( void *p, size_t s ); // 2nd parameter optional
private: static DWORD m_dwMemUsed;
};
#endif // INC_DEBUG_H
|