home *** CD-ROM | disk | FTP | other *** search
- /////////////////////////////////////////////////////////////////////////////
- // 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
-