Debug.h
上传用户:apjinmao
上传日期:2007-01-02
资源大小:96k
文件大小:2k
源码类别:

PropertySheet

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Diagnostic support
  3. #ifdef _PSEUDO_DEBUG
  4. #undef TRACE
  5. #undef VERIFY
  6. #undef ASSERT
  7. #undef THIS_FILE
  8. #undef TRACE0
  9. #undef TRACE1
  10. #undef TRACE2
  11. #undef TRACE3
  12. // Note: file names are still ANSI strings (filenames rarely need UNICODE)
  13. BOOL AssertFailedLine(LPCSTR lpszFileName, int nLine);
  14. void Trace(LPCTSTR lpszFormat, ...);
  15. // by default, debug break is asm int 3, or a call to DebugBreak, or nothing
  16. #if defined(_M_IX86)
  17. #define CustomDebugBreak() _asm { int 3 }
  18. #else
  19. #define CustomDebugBreak() DebugBreak()
  20. #endif
  21. #define TRACE              ::Trace
  22. #define THIS_FILE          __FILE__
  23. #define ASSERT(f) 
  24. do 
  25. if (!(f) && AssertFailedLine(THIS_FILE, __LINE__)) 
  26. CustomDebugBreak(); 
  27. } while (0) 
  28. #define VERIFY(f)          ASSERT(f)
  29. // The following trace macros are provided for backward compatiblity
  30. //  (they also take a fixed number of parameters which provides
  31. //   some amount of extra error checking)
  32. #define TRACE0(sz)              ::Trace(_T(sz))
  33. #define TRACE1(sz, p1)          ::Trace(_T(sz), p1)
  34. #define TRACE2(sz, p1, p2)      ::Trace(_T(sz), p1, p2)
  35. #define TRACE3(sz, p1, p2, p3)  ::Trace(_T(sz), p1, p2, p3)
  36. #endif // !_PSEUDO_DEBUG
  37. /////////////////////////////////////////////////////////////////////////////
  38. // Miscellaneous utility functions
  39. void DefineMacro(LPCTSTR lpszKey, LPCTSTR lpszValue);
  40. void UndefMacro(LPCTSTR lpszKey);
  41. void DefineIntMacro(LPCTSTR pszKey, int iValue);
  42. void DefineIntMacro(LPCTSTR pszKey, int iItem, int iValue);
  43. void DefineBoolMacro(LPCTSTR pszKey, BOOL bValue);
  44. void DefineBoolMacro(LPCTSTR pszKey, int iItem, BOOL bValue);
  45. void DefineStringMacro(LPCTSTR pszKey, LPCTSTR pszValue);
  46. void DefineStringMacro(LPCTSTR pszKey, int iItem, LPCTSTR pszValue);
  47. void ReportError(UINT nIDP, LPCTSTR szArg);
  48. void ReportAndThrow(UINT nIDP, LPCTSTR szArg);
  49. /////////////////////////////////////////////////////////////////////////////
  50. // Paint functions
  51. void PaintBackground (CDC &dc, CDialog *pDlg);
  52. void PaintBitmap (UINT nBmp, int x, int y, int nWidth, int nHeight, CDC &dc);