mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
76 lines
1.9 KiB
//==========================================================================;
|
|
//
|
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
|
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
|
// PURPOSE.
|
|
//
|
|
// Copyright (c) 1992 - 1998 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
//==========================================================================;
|
|
|
|
|
|
#ifndef __CODDEBUG_H
|
|
#define __CODDEBUG_H
|
|
|
|
#if DBG
|
|
#define DEBUG 1
|
|
#endif //DBG
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
//======================================================;
|
|
// Interfaces provided by this file:
|
|
//
|
|
// All interfaces provided by this file only exist and generate
|
|
// code when DEBUG is defined. No code or data are generated when
|
|
// DEBUG is not defined.
|
|
//
|
|
// CDEBUG_BREAK()
|
|
// Causes a trap #3, which hopefully will put you
|
|
// in your debugger.
|
|
//
|
|
// CASSERT(exp)
|
|
// If <exp> evaluates to false, prints a failure message
|
|
// and calls CDEBUG_BREAK()
|
|
//
|
|
// CdebugPrint(level, (printf_args));
|
|
// If <level> is >= _CDebugLevel, then calls
|
|
// DbgPrint(printf_args)
|
|
//
|
|
//======================================================;
|
|
|
|
#ifdef DEBUG
|
|
|
|
# if _X86_
|
|
# define CDEBUG_BREAK() { __asm { int 3 }; }
|
|
# else
|
|
# define CDEBUG_BREAK() DbgBreakPoint()
|
|
# endif
|
|
|
|
extern char _CDebugAssertFail[];
|
|
# define CASSERT(exp) {\
|
|
if ( !(exp) ) {\
|
|
DbgPrint(_CDebugAssertFail, #exp, __FILE__, __LINE__); \
|
|
CDEBUG_BREAK(); \
|
|
}\
|
|
}
|
|
|
|
extern enum STREAM_DEBUG_LEVEL _CDebugLevel;
|
|
# define CDebugPrint(level, args) { if (level <= _CDebugLevel) DbgPrint args; }
|
|
|
|
#else /*DEBUG*/
|
|
|
|
# define CDEBUG_BREAK() {}
|
|
# define CASSERT(exp) {}
|
|
# define CDebugPrint(level, args) {}
|
|
|
|
#endif /*DEBUG*/
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
#endif // #ifndef __CODDEBUG_H
|