Leaked source code of windows server 2003
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.
 
 
 
 
 
 

56 lines
1.6 KiB

//+--------------------------------------------------------------------------
//
// Copyright (C) 1994, Microsoft Corporation. All Rights Reserved.
//
// File: Debug.h
//
// History: 22-May-95 PatHal Created.
//
//---------------------------------------------------------------------------
#ifndef _DEBUG_
#define _DEBUG_
#ifdef _DEBUG
#ifdef __cplusplus
extern "C" {
#endif
// in NLGlib.h
// extern void DebugAssert(LPCTSTR, LPCTSTR, UINT);
// extern void SetAssertOptions(DWORD);
//
// Optional assert behavior
#define AssertOptionWriteToFile 0x01
#define AssertOptionShowAlert 0x02
// Continue and exit are mutually exclusive
#define AssertOptionContinue 0x00
#define AssertOptionExit 0x04
#define AssertOptionCallDebugger 0x08
#define AssertOptionUseVCAssert 0x10
#define AssertDefaultBehavior (AssertOptionUseVCAssert)
#define bAssertWriteToFile() ((fAssertFlags & AssertOptionWriteToFile) != 0)
#define bAssertShowAlert() ((fAssertFlags & AssertOptionShowAlert) != 0)
#define bAssertExit() ((fAssertFlags & AssertOptionExit) != 0)
#define bAssertCallDebugger() ((fAssertFlags & AssertOptionCallDebugger) != 0)
#define bAssertUseVCAssert() ((fAssertFlags & AssertOptionUseVCAssert) != 0)
#define Assert(a) { if (!(a)) DebugAssert((LPCTSTR)L#a, TEXT(__FILE__), __LINE__); }
#define AssertSz(a,t) { if (!(a)) DebugAssert((LPCTSTR)t, TEXT(__FILE__), __LINE__); }
#ifdef __cplusplus
}
#endif
#else // _DEBUG
#define Assert(a)
#define AssertSz(a,t)
#endif // _DEBUG
#endif // _DEBUG_