调试头文件

7 篇文章 0 订阅
#ifndef _debug_H
#define _debug_H


#if 0
#define print_dbg( fmt , arg...)
#define print_info( fmt , arg...)
#define print_err( fmt , arg...)
#define __print_errno
#define print_pAddr(p1, p2)
#define print_buf(buf, len)
#define __step 
#define __pBegin
#define __pEnd
#define __mark
#define print_y( fmt , arg...)
#else
#define print_y( fmt , arg...)        printf("\033[33m[DBG ][%s: %s:%d]" fmt , __FILE__, __FUNCTION__, __LINE__, ##arg)
#define print_dbg( fmt , arg...)      printf("\033[37m[DBG ][%s: %s:%d]" fmt , __FILE__, __FUNCTION__, __LINE__, ##arg)
#define print_info( fmt , arg...)     printf("\033[32m[INFO][%s: %s:%d]" fmt , __FILE__, __FUNCTION__, __LINE__, ##arg)
#define print_err( fmt , arg...)      printf("\033[31m[ERR ][%s: %s:%d]" fmt , __FILE__, __FUNCTION__, __LINE__, ##arg)
#define __print_errno               print_err("[errno, err] = [%d, %s]\n", errno, strerror(errno));
#define print_pAddr(p1, p2)         printf("\033[37m[Addr compare][%s: %s:%d][0x%x :: 0x%x]\n", __FILE__, __FUNCTION__, __LINE__, p1,p2)
#define __step                      print_dbg("#\n");
#define __pBegin print_y("begin ..\n");
#define __pEnd   print_y("end   ..\n");
#define __mark   print_dbg("#\n");
#define print_buf(buf, len)     do{         \
    int i = 0;                              \
    print_info("");                     \
    printf("buf data = {");                 \
    for(i = 0; i < len; i++)                \
        printf("0x%02x, ", (unsigned int)buf[i] );           \
    printf("}\n");                          \
}while(0)
#endif

#ifdef INVG_RELEASE
#define print_dbg( fmt , arg...)
#define print_info( fmt , arg...)
#define print_err( fmt , arg...)  
#define __print_errno
#define print_pAddr(p1, p2)
#define print_buf(buf, len)
#define __step 
#define __pBegin
#define __pEnd
#define __mark
#define print_y( fmt , arg...)
#endif

#define STR(s)                          #s
#define err_ptr_exe(ptr, expresion)     if(NULL == ptr) {expresion;}
#define err_ptr_null(ptr)               if(NULL == ptr) print_err("%s is null\n", STR(ptr))
#define err_ptr_null_return(ptr, ret)   if(NULL == ptr) {print_err("%s is null\n", STR(ptr)); return ret;}
#define err_int_return(ret)             if(ret < 0) {print_err("%s\n", strerror(errno)); return ret;}



#endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值