Debug.h
上传用户:apjinmao
上传日期:2007-01-02
资源大小:96k
文件大小:2k
- /////////////////////////////////////////////////////////////////////////////
- // 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
- /////////////////////////////////////////////////////////////////////////////
- // Miscellaneous utility functions
- void DefineMacro(LPCTSTR lpszKey, LPCTSTR lpszValue);
- void UndefMacro(LPCTSTR lpszKey);
- void DefineIntMacro(LPCTSTR pszKey, int iValue);
- void DefineIntMacro(LPCTSTR pszKey, int iItem, int iValue);
- void DefineBoolMacro(LPCTSTR pszKey, BOOL bValue);
- void DefineBoolMacro(LPCTSTR pszKey, int iItem, BOOL bValue);
- void DefineStringMacro(LPCTSTR pszKey, LPCTSTR pszValue);
- void DefineStringMacro(LPCTSTR pszKey, int iItem, LPCTSTR pszValue);
- void ReportError(UINT nIDP, LPCTSTR szArg);
- void ReportAndThrow(UINT nIDP, LPCTSTR szArg);
- /////////////////////////////////////////////////////////////////////////////
- // Paint functions
- void PaintBackground (CDC &dc, CDialog *pDlg);
- void PaintBitmap (UINT nBmp, int x, int y, int nWidth, int nHeight, CDC &dc);