#ifndef __DEBUG_UTIL_H__ #define __DEBUG_UTIL_H__ #pragma once #include #include #define DBGTAG "rvc.libtoolkit.dbgutil" #ifdef NDEBUG #define _TOOLKITLOG_ASSERT(expr) \ do { if (!(expr)) { \ WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!", __FILE__, __LINE__);\ } }while(0) #else //NDEBUG #ifdef _MSC_VER # define _TOOLKITLOG_ASSERT(expr) \ do { if (!(expr)){ \ WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!"); \ if(1 == _CrtDbgReport(_CRT_ASSERT, (__FILE__), __LINE__, NULL, #expr) ) \ {_CrtDbgBreak(); \ }}}while(0) #else //_MSC_VER # define _TOOLKITLOG_ASSERT(expr) \ do { if (!(expr)){ \ WLog_ERR(DBGTAG, "%s line: %d (\""#expr"\") assert failed!", __FILE__, __LINE__); \ assert(expr); \ }}while(0) #endif //_MSC_VER #endif //NDEBUG #ifndef TOOLKIT_ASSERT # define TOOLKIT_ASSERT(exp) _TOOLKITLOG_ASSERT(exp) #endif //TOOLKIT_ASSERT #endif //__DEBUG_UTIL_H__