home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
appwiz
/
hierwiz
/
debug.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-03-05
|
2KB
|
59 lines
/////////////////////////////////////////////////////////////////////////////
// Diagnostic support
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1995 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and Microsoft
// QuickHelp and/or WinHelp documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
#ifdef _PSEUDO_DEBUG
#undef TRACE
#undef VERIFY
#undef ASSERT
#undef THIS_FILE
#undef TRACE0
#undef TRACE1
#undef TRACE2
#undef TRACE3
// Note: file names are still ANSI strings (filenames rarely need UNICODE)
BOOL AssertFailedLine(LPCSTR lpszFileName, int nLine);
void Trace(LPCTSTR lpszFormat, ...);
// by default, debug break is asm int 3, or a call to DebugBreak, or nothing
#if defined(_M_IX86)
#define CustomDebugBreak() _asm { int 3 }
#else
#define CustomDebugBreak() DebugBreak()
#endif
#define TRACE ::Trace
#define THIS_FILE __FILE__
#define ASSERT(f) \
do \
{ \
if (!(f) && AssertFailedLine(THIS_FILE, __LINE__)) \
CustomDebugBreak(); \
} while (0) \
#define VERIFY(f) ASSERT(f)
// The following trace macros are provided for backward compatiblity
// (they also take a fixed number of parameters which provides
// some amount of extra error checking)
#define TRACE0(sz) ::Trace(_T(sz))
#define TRACE1(sz, p1) ::Trace(_T(sz), p1)
#define TRACE2(sz, p1, p2) ::Trace(_T(sz), p1, p2)
#define TRACE3(sz, p1, p2, p3) ::Trace(_T(sz), p1, p2, p3)
#endif // !_PSEUDO_DEBUG