📄 debug.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 + -