|
|
/*****************************************************************************
* * $Workfile: debug.cpp $ * * Copyright (C) 1997 Hewlett-Packard Company. * Copyright (C) 1997 Microsoft Corporation. * All rights reserved. * * 11311 Chinden Blvd. * Boise, Idaho 83714 * *****************************************************************************/ #include "precomp.h"
#include "debug.h"
///////////////////////////////////////////////////////////////////////////////
// Global definitions/declerations
HANDLE g_hDebugFile;
///////////////////////////////////////////////////////////////////////////////
// InitDebug
void InitDebug( LPTSTR pszDebugFile ) { g_hDebugFile = CreateFile( pszDebugFile, // file name
GENERIC_WRITE, // access mode
FILE_SHARE_WRITE | FILE_SHARE_READ, // share mode
NULL, // security attributes
OPEN_ALWAYS, // creation
FILE_ATTRIBUTE_NORMAL, // file attributes
NULL ); // template file
if (g_hDebugFile == INVALID_HANDLE_VALUE) { DWORD dwError = GetLastError(); //_RPT1(_CRT_WARN, "\t>ERROR!! CreateFile dwError = %d\n", dwError);
} _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); _CrtSetReportFile(_CRT_WARN, (_HFILE)g_hDebugFile); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDOUT); _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDOUT);
} // InitDebug()
///////////////////////////////////////////////////////////////////////////////
// DeInitDebug
void DeInitDebug(void) { if (g_hDebugFile) { CloseHandle(g_hDebugFile); }
} // DeInitDebug()
///////////////////////////////////////////////////////////////////////////////
// debugRPT -- used w/ the macros
void debugRPT(char *p, int i) { //_RPT2(_CRT_WARN, "%s %d\n", p, i);
}
///////////////////////////////////////////////////////////////////////////////
// debugCSect -- used w/ the macros
void debugCSect(char *p, int i, char *fileName, int lineNum, long csrc) { //_RPT4(_CRT_WARN, "%s (%d) @%s %d", p, i, fileName, lineNum);
//_RPT1(_CRT_WARN, " [recursioncount=(%ld)]\n", csrc);
}
///////////////////////////////////////////////////////////////////////////////
// CMemoryDebug
DWORD CMemoryDebug::m_dwMemUsed = 0;
///////////////////////////////////////////////////////////////////////////////
// CMemoryDebug::CMemoryDebug
CMemoryDebug::CMemoryDebug() {
} // ::CMemoryDebug()
///////////////////////////////////////////////////////////////////////////////
// CMemoryDebug::~CMemoryDebug
CMemoryDebug::~CMemoryDebug() {
} // ::~CMemoryDebug()
///////////////////////////////////////////////////////////////////////////////
// operator new
void * CMemoryDebug::operator new(size_t in s) { m_dwMemUsed += s; //_RPT2(_CRT_WARN, "DEBUG -- operator new() ----- Bytes allocated = %d, Total Memory used upto date = %d\n", s, m_dwMemUsed);
return (void *) new char[s];
} // ::operator new()
///////////////////////////////////////////////////////////////////////////////
// operator delete
void CMemoryDebug::operator delete(void in *p, size_t in s) { m_dwMemUsed -= s; //_RPT2(_CRT_WARN, "DEBUG -- operator delete() ----- Bytes deleted = %d,Total Memory used upto date = %d\n", s, m_dwMemUsed);
delete [] p;
} // ::operator delete()
|