dbgutil.h 936 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __DEBUG_UTIL_H__
  2. #define __DEBUG_UTIL_H__
  3. #pragma once
  4. #include <assert.h>
  5. #include <winpr/wlog.h>
  6. #define DBGTAG "rvc.libtoolkit.dbgutil"
  7. #ifdef NDEBUG
  8. #define _TOOLKITLOG_ASSERT(expr) \
  9. do { if (!(expr)) { \
  10. WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!", __FILE__, __LINE__);\
  11. } }while(0)
  12. #else //NDEBUG
  13. #ifdef _MSC_VER
  14. # define _TOOLKITLOG_ASSERT(expr) \
  15. do { if (!(expr)){ \
  16. WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!"); \
  17. if(1 == _CrtDbgReport(_CRT_ASSERT, (__FILE__), __LINE__, NULL, #expr) ) \
  18. {_CrtDbgBreak(); \
  19. }}}while(0)
  20. #else //_MSC_VER
  21. # define _TOOLKITLOG_ASSERT(expr) \
  22. do { if (!(expr)){ \
  23. WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!", __FILE__, __LINE__); \
  24. assert(expr); \
  25. }}while(0)
  26. #endif //_MSC_VER
  27. #endif //NDEBUG
  28. #ifndef TOOLKIT_ASSERT
  29. # define TOOLKIT_ASSERT(exp) _TOOLKITLOG_ASSERT(exp)
  30. #endif //TOOLKIT_ASSERT
  31. #endif //__DEBUG_UTIL_H__