⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.h

📁 pppoe client
💻 H
字号:

//********************************************************************
//	日期:	2004/08/24 - 24:8:2004   17:50
//	名前:	tiamo
//	描述:	debug routine
//*********************************************************************

#pragma once

#ifdef DBG

	#define DBG_IRQL									0x00000001
	#define DBG_FILE_INFO								0x00000002
	#define DBG_FUNCTION_INFO							0x00000004
	#define DBG_BREAK									0x00000008

	#define DBG_INFO									0x00000001
	#define DBG_ERROR									0x00000002
	#define DBG_WARNING									0x00000004

	// debug enabled flags
	extern BOOLEAN g_bDebugEnabled;

	// debug level
	extern ULONG g_ulDebugLevel;

	#define DebugPrint(level,mask,x)														\
	{																						\
		if(g_bDebugEnabled && (level & g_ulDebugLevel))										\
		{																					\
			DbgPrint("********"DRIVER_NAME"********");										\
			if(mask & DBG_IRQL)																\
			{																				\
				DbgPrint("irql = %d, ",KeGetCurrentIrql());									\
			}																				\
			if(mask & DBG_FILE_INFO)														\
			{																				\
				DbgPrint("file = %s,line = %d, ",__FILE__,__LINE__);						\
			}																				\
			if(mask & DBG_FUNCTION_INFO)													\
			{																				\
				DbgPrint("function = %s, ",__FUNCTION__);									\
			}																				\
			DbgPrint x;																		\
			if(mask & DBG_BREAK)															\
			{																				\
				DbgBreakPoint();															\
			}																				\
		}																					\
	}

	// debug print information
	#define DebugInfo(x)						DebugPrint(DBG_INFO,0,x)

	// debug print warning
	#define DebugWarning(x)						DebugPrint(DBG_WARNING,DBG_FILE_INFO | DBG_FUNCTION_INFO,x)

	// debug print error
	#define DebugError(x)						DebugPrint(DBG_ERROR,DBG_FILE_INFO | DBG_FUNCTION_INFO | DBG_BREAK,x)

	// debug for enter level function
	#define DebugEnter()						DebugPrint(DBG_INFO,DBG_FUNCTION_INFO | DBG_IRQL,"enter.\n");

	// return
	#define DebugReturn()						DebugPrint(DBG_INFO,DBG_FUNCTION_INFO | DBG_IRQL,"return.\n");

#else

	#define DebugPrint(a,b,c)					__noop

	#define DebugInfo(a,b,c)					__noop

	#define DebugWarning(a,b,c)					__noop

	#define DebugError(a,b,c)					__noop

	#define DebugEnter(a,b,c)					__noop

	#define DebugReturn(a,b,c)					__noop

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -