C++debug信息級別方法
目錄:
- VERBOSE日誌定義
- 通過DEBUG_LEVEL去定義debug信息級別
- 應用
VERBOSE日誌定義
我們先看一行代碼:
VERBOSE(DLLTEXT("IOemPS::EnableDriver() entry.
"))
這行代碼表示當我們調試時可以在調試平台如Windbg等看到函數入口信息。
如果我們想要在調試時了解dll模塊的載入,函數的調用等這些調試級別詳細信息,我們需要定義VERBOSE日誌。比如上面。
如果我們需要顯示程序執行錯誤
在debug.h中這樣定義:
#define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg
可以看出,VERBOSE其實就是DebugMsg。我們通過定義giDebugLevel去設置debug消息級別 。
通過DEBUG_LEVEL去定義debug信息級別
INT giDebugLevel = DEBUG_LEVEL
其中DEBUG_LEVEL可以這樣定義
//debug.h中定義#define DBG_VERBOSE 1#define DBG_TERSE 2#define DBG_WARNING 3#define DBG_ERROR 4#define DBG_RIP 5#define DBG_NONE 6//debug.cpp中實現// Determine what level of debugging messages to eject. #ifdef VERBOSE_MSG #define DEBUG_LEVEL DBG_VERBOSE#elif TERSE_MSG #define DEBUG_LEVEL DBG_TERSE#elif WARNING_MSG #define DEBUG_LEVEL DBG_WARNING#elif ERROR_MSG #define DEBUG_LEVEL DBG_ERROR#elif RIP_MSG #define DEBUG_LEVEL DBG_RIP#elif NO_DBG_MSG #define DEBUG_LEVEL DBG_NONE#else #define DEBUG_LEVEL DBG_VERBOSE#endif
這樣我們就可以通過編譯選項來設置定義需要的日誌消息級別。
推薦閱讀:
※阿貝爾獎真是個雞肋
※三次數學危機.終於陷入混沌
※平行宇宙中的故事-磚訪Q賽金獎得主楚千羽(純屬虛構)
※一些「自殘」的作者和他們的書
※歐拉公式中柯西的證明是怎樣的?
TAG:數學 |