|
#if !defined(AFX_DEBUG_H__AFFC3993_06AA_4EC8_9108_7618258C3B16__INCLUDED_)
#define AFX_DEBUG_H__AFFC3993_06AA_4EC8_9108_7618258C3B16__INCLUDED_
/////////////////////////////////////////////////////////////////////////////
// Diagnostic support
#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
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DEBUG_H__AFFC3993_06AA_4EC8_9108_7618258C3B16__INCLUDED_)
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Worked as a Java developer targeting J2EE and J2SE for half a decade.
Now he's employed for Avanade as a Senior Associate Consultant on Microsoft technologies.
His hobbies are Win32 programming using SDK, MFC, ATL and COM; playing guitar and listening to music.