31#if defined(__WIN32__) && !defined(__MINGW32__)
92 #define ASSERT(exp) assert(exp)
95 #define ASSERT(exp) assert(exp)
106#if !defined(ERRORMSG)
108 #define ERRORMSG(msg) AXODBG_ErrorMsg(__FILE__, __LINE__, msg)
109 #define ERRORMSG1(msg,a) AXODBG_ErrorMsg(__FILE__, __LINE__, msg, a)
110 #define ERRORMSG2(msg,a,b) AXODBG_ErrorMsg(__FILE__, __LINE__, msg, a, b)
111 #define ERRORMSG3(msg,a,b,c) AXODBG_ErrorMsg(__FILE__, __LINE__, msg, a, b, c)
112 #define ERRORMSG4(msg,a,b,c,d) AXODBG_ErrorMsg(__FILE__, __LINE__, msg, a, b, c, d)
113 #define ERRORMSG5(msg,a,b,c,d,e) AXODBG_ErrorMsg(__FILE__, __LINE__, msg, a, b, c, d, e)
115 #define ERRORMSG(msg) ((void)0)
116 #define ERRORMSG1(msg,a) ((void)0)
117 #define ERRORMSG2(msg,a,b) ((void)0)
118 #define ERRORMSG3(msg,a,b,c) ((void)0)
119 #define ERRORMSG4(msg,a,b,c,d) ((void)0)
120 #define ERRORMSG5(msg,a,b,c,d,e) ((void)0)
124#if defined(_WINDOWS) && !defined(__MINGW32__)
125 #define HWNDASSERT(hWnd) ASSERT(IsWindow(hWnd))
126 #define IsBadPtr(p) IsBadWritePtr((void *)(p), sizeof(*(p)))
127 #define IsBadArray(p,n) IsBadWritePtr((void *)(p), sizeof(*(p))*(n))
128 #define RPTRASSERT(p) ASSERT(!IsBadReadPtr((const void *)(p), sizeof(*(p))))
129 #define FNPTRASSERT(p) ASSERT(!IsBadCodePtr((FARPROC)(p)))
130 #define LPSZASSERT(p) ASSERT(!IsBadStringPtr(p, (UINT)(-1)))
132 #define IsBadPtr(p) (p==NULL)
133 #define IsBadArray(p,n) IsBadPtr(p)
134 #define RPTRASSERT(p) ASSERT(!IsBadPtr(p))
135 #define FNPTRASSERT(p) ASSERT(!IsBadPtr(p))
136 #define LPSZASSERT(p) ASSERT(!IsBadPtr(p))
139#define WPTRASSERT(p) ASSERT(!IsBadPtr(p))
140#define MEMBERASSERT() WPTRASSERT(this)
141#define ARRAYASSERT(p,n) ASSERT(!IsBadArray(p, n))
155#if defined(_WINDOWS) && !defined(__MINGW32__)
156 #define RARRAYASSERT(p,n) ASSERT( ((p) != NULL) && !IsBadReadPtr( (const void *)(p), sizeof(*(p))*(n) ) )
157 #define WARRAYASSERT(p,n) ASSERT( ((p) != NULL) && !IsBadWritePtr( (void *)(p), sizeof(*(p))*(n) ) )
159 #define RARRAYASSERT(p,n) ASSERT(!IsBadPtr(p))
160 #define WARRAYASSERT(p,n) ASSERT(!IsBadPtr(p))
169 #define VERIFY(exp) ASSERT(exp)
171 #define VERIFY(exp) (exp)
177#if !defined(DEBUG_ONLY)
179 #define DEBUG_ONLY(exp) (exp)
181 #define DEBUG_ONLY(exp) ((void)0)
189#if (defined(_STFDEBUG) || defined(AXODBG_TRACE))
190 #define TRACE(s) AXODBG_printf(s)
191 #define DLLTRACE(s) AXODBG_printf(s)
192 #define TRACE1(s, a) AXODBG_printf(s, a)
193 #define TRACE2(s, a, b) AXODBG_printf(s, a, b)
194 #define TRACE3(s, a, b, c) AXODBG_printf(s, a, b, c)
195 #define TRACE4(s, a, b, c, d) AXODBG_printf(s, a, b, c, d)
196 #define TRACE5(s, a, b, c, d, e) AXODBG_printf(s, a, b, c, d, e)
198 #define TRACE(s) ((void)0)
199 #define DLLTRACE(s) ((void)0)
200 #define TRACE1(s, a) ((void)0)
201 #define TRACE2(s, a, b) ((void)0)
202 #define TRACE3(s, a, b, c) ((void)0)
203 #define TRACE4(s, a, b, c, d) ((void)0)
204 #define TRACE5(s, a, b, c, d, e) ((void)0)
208#define TRACE_INT(e) TRACE1(#e "=%d\n", e)
209#define TRACE_FLOAT(e) TRACE1(#e "=%g\n", e)
210#define TRACE_STRING(e) TRACE1(#e "=%s\n", e)
216 #define SHOW_SYSTEM_ERROR(dwError) AXODBG_ShowSystemError(dwError)
218 #define SHOW_SYSTEM_ERROR(dwError) ((void)0)
225 #define VERIFY_SYSTEM_CALL(exp) (exp || (AXODBG_SystemErrorMsg(0, __FILE__, __LINE__), 0))
227 #define VERIFY_SYSTEM_CALL(exp) (exp)
234 #define ASSERT_ISALIGNED(p) ASSERT(AXODBG_IsAligned(p, sizeof(*p)))
235 #define ASSERT_NOTONSTACK(p) ASSERT(AXODBG_NotOnStack(p))
237 #define ASSERT_ISALIGNED(p) ((void)0)
238 #define ASSERT_NOTONSTACK(p) ((void)0)
264 #define SET_CRT_DEBUG_FIELD(a) \
265 _CrtSetDbgFlag((a) | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG))
266 #define CLEAR_CRT_DEBUG_FIELD(a) \
267 _CrtSetDbgFlag(~(a) & _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG))
269 #define SET_CRT_DEBUG_FIELD(a) ((void)0)
270 #define CLEAR_CRT_DEBUG_FIELD(a) ((void)0)
278 #define HEAPASSERT() ASSERT(_CrtCheckMemory())
280 #define HEAPASSERT() ((void)0)
286#define AXODBG_REPORT_FLAG 0x80000000
287#define AXODBG_BREAK_ON_ASSERT 0x00000001
293 #define AXODBG_SET_DEBUG_FIELD(a) \
294 AXODBG_SetDebugFlag((a) | AXODBG_SetDebugFlag(AXODBG_REPORT_FLAG))
295 #define AXODBG_CLEAR_DEBUG_FIELD(a) \
296 AXODBG_SetDebugFlag(~(a) & AXODBG_SetDebugFlag(AXODBG_REPORT_FLAG))
298 #define AXODBG_SET_DEBUG_FIELD(a) ((void)0)
299 #define AXODBG_CLEAR_DEBUG_FIELD(a) ((void)0)
305 #define AXODBG_DEBUGBREAK() AXODBG_DebugBreak()
307 #define AXODBG_DEBUGBREAK() ((BOOL)FALSE)
320#define STATIC_ASSERT(expr) C_ASSERT(expr)
void AXODBG_Initialize(void)
BOOL AXODBG_DebugBreak(void)
void AXODBG_SystemErrorMsg(DWORD dwSystemError, LPCSTR psFile, int nLine)
BOOL AXODBG_IsAligned(void *pv, UINT uDataSize)
DWORD AXODBG_SetDebugFlag(DWORD dwFlags)
void AXODBG_SetTracePrefixFromModuleHandle(HMODULE mod_handle)
void AXODBG_SetTracePrefix(char const *szNewTracePrefix)
void AXODBG_ErrorMsg(LPCSTR psFile, int nLine, LPCSTR pszFormat,...)
void AXODBG_assert(LPCSTR psExp, LPCSTR psFile, int nLine)
int cdecl AXODBG_printf(char *lpsz,...)
BOOL AXODBG_NotOnStack(void *pv)
int AXODBG_ShowSystemError(DWORD dwSystemError)
UINT AXODBG_GetSystemErrorText(DWORD dwSystemError, LPSTR pszBuf, UINT uMaxLen)