DEBUG.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #if !defined($$FILE_NAME_SYMBOL$$_INCLUDED_)
  2. #define $$FILE_NAME_SYMBOL$$_INCLUDED_
  3. /////////////////////////////////////////////////////////////////////////////
  4. // Diagnostic support
  5. #ifdef _PSEUDO_DEBUG
  6. #undef TRACE
  7. #undef VERIFY
  8. #undef ASSERT
  9. #undef THIS_FILE
  10. #undef TRACE0
  11. #undef TRACE1
  12. #undef TRACE2
  13. #undef TRACE3
  14. // Note: file names are still ANSI strings (filenames rarely need UNICODE)
  15. BOOL AssertFailedLine(LPCSTR lpszFileName, int nLine);
  16. void Trace(LPCTSTR lpszFormat, ...);
  17. // by default, debug break is asm int 3, or a call to DebugBreak, or nothing
  18. #if defined(_M_IX86)
  19. #define CustomDebugBreak() _asm { int 3 }
  20. #else
  21. #define CustomDebugBreak() DebugBreak()
  22. #endif
  23. #define TRACE              ::Trace
  24. #define THIS_FILE          __FILE__
  25. #define ASSERT(f) 
  26. do 
  27. if (!(f) && AssertFailedLine(THIS_FILE, __LINE__)) 
  28. CustomDebugBreak(); 
  29. } while (0) 
  30. #define VERIFY(f)          ASSERT(f)
  31. // The following trace macros are provided for backward compatiblity
  32. //  (they also take a fixed number of parameters which provides
  33. //   some amount of extra error checking)
  34. #define TRACE0(sz)              ::Trace(_T(sz))
  35. #define TRACE1(sz, p1)          ::Trace(_T(sz), p1)
  36. #define TRACE2(sz, p1, p2)      ::Trace(_T(sz), p1, p2)
  37. #define TRACE3(sz, p1, p2, p3)  ::Trace(_T(sz), p1, p2, p3)
  38. #endif // !_PSEUDO_DEBUG
  39. //{{AFX_INSERT_LOCATION}}
  40. // $$INSERT_LOCATION_COMMENT$$
  41. #endif // !defined($$FILE_NAME_SYMBOL$$_INCLUDED_)