zoukankan      html  css  js  c++  java
  • Debug模式应用程序输出Debug调试信息(现成的宏定义,用于格式化打印信息)

    [cpp] view plain copy
     
    1. // Debug模式,主要输出一些调试的信息。  
    2. #ifdef UNICODE  
    3.     #define _FILE_          _STR2WSTR(__FILE__)  
    4.     #define _FUNCTION_          _STR2WSTR(__FUNCTION__)  
    5. #else  
    6.     #define _FILE_          __FILE__  
    7.     #define _FUNCTION_          __FUNCTION__  
    8. #endif  
    9.   
    10. #define MAX_BUF_SIZE   (1024)  
    11. #define MAX_BIN_COUNT   (16)  
    12. #define MAX_BIN_SIZE   (64)  
    13.   
    14. #ifdef _DEBUG  
    15.     #define new DEBUG_NEW  
    16.   
    17.     #define DBGPRINT(lpszFmt, ...)   
    18.             TCHAR szText[1024] = {0};   
    19.             StringCchPrintf(szText, _countof(szText), lpszFmt, __VA_ARGS__);      
    20.             OutputDebugString(szText);  
    21.   
    22.     #define DBGFAILED(dwError)    
    23.             LPTSTR lpszBuf = NULL;    
    24.             TCHAR szError[1024] = {0};    
    25.             FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, LANG_NEUTRAL, (LPTSTR)&lpszBuf, 0, NULL);   
    26.             StringCchPrintf(szError, _countof(szError), _T(" Error: File: %s  Line: %d Function: %s() Reason: %s "), _FILE_, __LINE__, _FUNCTION_, lpszBuf);      
    27.             OutputDebugString(szError);   
    28.             LocalFree(lpszBuf);  
    29.   
    30.       
    31.     #define DUMPBIN(pData, dwSize)   
    32.                TCHAR szData[MAX_BIN_SIZE] = {0};   
    33.                TRACELOGINFO(_T(" -----------00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F"));   
    34.                for(DWORD i = 0; i < dwSize; i++)   
    35.                {   
    36.                       if(0 == (i % MAX_BIN_COUNT))   
    37.                       {   
    38.                          TRACELOGINFO(szData);   
    39.                          StringCchPrintf(szData, _COUNTOF_(szData), _T(" %08Xh: %02X"), i, pData[i]);   
    40.                      }   
    41.                      else   
    42.                      {   
    43.                          StringCchPrintf(szData + _tcslen(szData), _COUNTOF_(szData) - _tcslen(szData), _T(" %02X"), pData[i]);   
    44.                      }   
    45.                }   
    46.                OutputDebugString(szData);   
    47.                OutputDebugString(_T(" ---------------------------------------------------------- "));  
    48.   
    49. #else  
    50.     #define DBGPRINT(lpszFmt, ...)  
    51.     #define DBGFAILED()  
    52.     #define DUMPBIN(pData, dwSize)    
    53. #endif  


     

    http://blog.csdn.net/visualeleven/article/details/7211249

  • 相关阅读:
    dataTables的导出Excel功能
    jquery生成二维码图片
    angular2表单初体验
    台湾辅仁大学的python教程笔记
    浅说《测试用例》----给测试新手的
    测试员的工作与学习
    简单的表格代码
    特殊效果字体代码
    办公自动化的基本方法
    css网页的几种类型
  • 原文地址:https://www.cnblogs.com/findumars/p/6002444.html
Copyright © 2011-2022 走看看