Debug模式应用程序输出Debug调试信息
2012-01-19 17:09
676 查看
// Debug模式,主要输出一些调试的信息。 #ifdef UNICODE #define _FILE_ _STR2WSTR(__FILE__) #define _FUNCTION_ _STR2WSTR(__FUNCTION__) #else #define _FILE_ __FILE__ #define _FUNCTION_ __FUNCTION__ #endif #define MAX_BUF_SIZE (1024) #define MAX_BIN_COUNT (16) #define MAX_BIN_SIZE (64) #ifdef _DEBUG #define new DEBUG_NEW #define DBGPRINT(lpszFmt, ...) \ TCHAR szText[1024] = {0}; \ StringCchPrintf(szText, _countof(szText), lpszFmt, __VA_ARGS__); \ OutputDebugString(szText); #define DBGFAILED(dwError) \ LPTSTR lpszBuf = NULL; \ TCHAR szError[1024] = {0}; \ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, LANG_NEUTRAL, (LPTSTR)&lpszBuf, 0, NULL); \ StringCchPrintf(szError, _countof(szError), _T("\nError: File: %s \n\tLine: %d Function: %s()\n\tReason: %s\n"), _FILE_, __LINE__, _FUNCTION_, lpszBuf); \ OutputDebugString(szError); \ LocalFree(lpszBuf); #define DUMPBIN(pData, dwSize) \ TCHAR szData[MAX_BIN_SIZE] = {0}; \ TRACELOGINFO(_T("\n-----------00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F")); \ for(DWORD i = 0; i < dwSize; i++) \ { \ if(0 == (i % MAX_BIN_COUNT)) \ { \ TRACELOGINFO(szData); \ StringCchPrintf(szData, _COUNTOF_(szData), _T("\n%08Xh: %02X"), i, pData[i]); \ } \ else \ { \ StringCchPrintf(szData + _tcslen(szData), _COUNTOF_(szData) - _tcslen(szData), _T(" %02X"), pData[i]); \ } \ } \ OutputDebugString(szData); \ OutputDebugString(_T("\n----------------------------------------------------------\n")); #else #define DBGPRINT(lpszFmt, ...) #define DBGFAILED() #define DUMPBIN(pData, dwSize) #endif
相关文章推荐
- Debug模式应用程序输出Debug调试信息(现成的宏定义,用于格式化打印信息)
- 让 IPhone 程序的调试信息只在 debug 模式下输出
- 让 IPhone 程序的调试信息只在 debug 模式下输出 转自:hager的博客
- MFC程序中Debug模式下调试信息输出到控制台
- 谈在Debug和Release模式下输出调试信息
- 让 IPhone 程序的调试信息只在 debug 模式下输出
- IPhone 程序的调试信息只在 debug 模式下输出
- 谈在Debug和Release模式下输出调试信息
- 谈在Debug和Release模式下输出调试信息 .
- 使用OutputDebugString将调试信息输出
- OutputDebugString输出调试信息
- win32使用OutputDebugString输出调试信息的方法
- 设置调试PHP,debug php输出所有错误信息
- vs 调试时只能是debug模式,不能是realease模式,否则会出现调试信息错误
- 将Debug调试信息输出到控制台或文件
- VC调试时输出调试信息到Debug窗口
- OutputDebugString输出调试信息到debugtrack
- 写一个把调试信息输出到磁盘文件的DEBUG程序
- 学习笔记 --- LINUX应用调试之修改内核输出应用程序的段错误信息
- Debug 输出字符串 调试信息