1. 程式人生 > >【整理】Linux 下 自己使用的 debug宏 printf

【整理】Linux 下 自己使用的 debug宏 printf

lap mat 3.0 splay _file__ too linu pen hid

技術分享圖片
#ifdef __DEBUG_PRINTF__
/*
*
* Some Debug printf kit for devlopment 
*
* Date   : 2019.03.04
*
* Editor : SCHIPS
*
*/

#include <stdio.h>
/* Debug with file name and line. */ 
#define DEBUG(format,...)           printf(""format"\n",  ##__VA_ARGS__ )
#define DEBUG_RED(format,...)       printf("\033[30m\033[31m"format"\033[0m\n", ##__VA_ARGS__)
#define
DEBUG_GREEN(format,...) printf("\033[30m\033[32m"format"\033[0m\n", ##__VA_ARGS__) #define DEBUG_YELLOW(format,...) printf("\033[30m\033[33m"format"\033[0m\n", ##__VA_ARGS__) #define DEBUG_PURP(format,...) printf("\033[30m\033[35m"format"\033[0m\n", ##__VA_ARGS__) #define DEBUG_BLUE(format,...) printf("\033[30m\033[36m"format"\033[0m\n", ##__VA_ARGS__) /*
Debug printf infomration with color. */ #define DEBUG_FL(format,...) printf("["__FILE__"](%05d) - %s]\n "format"\n", __LINE__, ##__VA_ARGS__ , __FUNCTION__) #define DEBUG_FLR(format,...) printf("\033[30m\033[31m["__FILE__"](%05d) - %s]\n\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define
DEBUG_FLG(format,...) printf("\033[30m\033[32m["__FILE__"](%05d) - %s]\n\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_FLY(format,...) printf("\033[30m\033[33m["__FILE__"](%05d) - %s]\n\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_FLP(format,...) printf("\033[30m\033[35m["__FILE__"](%05d) - %s]\n\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_FLB(format,...) printf("\033[30m\033[36m["__FILE__"](%05d) - %s]\n\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_SFL(format,...) printf("["__FILE__"](%05d) - %s] "format"\n", __LINE__, ##__VA_ARGS__ , __FUNCTION__) #define DEBUG_SFLR(format,...) printf("\033[30m\033[31m["__FILE__"](%05d) - %s]\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_SFLG(format,...) printf("\033[30m\033[32m["__FILE__"](%05d) - %s]\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_SFLY(format,...) printf("\033[30m\033[33m["__FILE__"](%05d) - %s]\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_SFLP(format,...) printf("\033[30m\033[35m["__FILE__"](%05d) - %s]\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define DEBUG_SFLB(format,...) printf("\033[30m\033[36m["__FILE__"](%05d) - %s]\033[0m "format"\n", __LINE__, __FUNCTION__,##__VA_ARGS__) #define SC_CLEAR() printf("\033[2J") #if 0 /* Another format to Print (Too ugly to me to use.)*/ #define DEBUGA(fmt,args...) printf("[%s(%05d) - %s]\n "#fmt"\n", __FILE__, __LINE__, __FUNCTION__, ##args) #endif #else #define DEBUG(format,...) #define DEBUG_RED(format,...) #define DEBUG_GREEN(format,...) #define DEBUG_YELLOW(format,...) #define DEBUG_PURP(format,...) #define DEBUG_BLUE(format,...) #define DEBUG_FL(format,...) #define DEBUG_FLR(format,...) #define DEBUG_FLG(format,...) #define DEBUG_FLY(format,...) #define DEBUG_FLP(format,...) #define DEBUG_FLB(format,...) #define DEBUG_SFL(format,...) #define DEBUG_SFLR(format,...) #define DEBUG_SFLG(format,...) #define DEBUG_SFLY(format,...) #define DEBUG_SFLP(format,...) #define DEBUG_SFLB(format,...) #define SC_CLEAR(format,...) #endif
debug.h 技術分享圖片
#include <stdio.h>

#if 1

//    To turn on/off Debug printf;
    #define __DEBUG_PRINTF__

#endif

#include "debug.h"

void fun1(void)
{
    DEBUG("DEBUG");
    DEBUG_RED("RED.");
    DEBUG_GREEN("GREEN.");
    DEBUG_YELLOW("YELLOW.");
    return ;  
}

void fun2(char* buff)
{
    int i = 0;
    DEBUG_FL("fun2");
    DEBUG_FLB("i = %d", i);
    DEBUG_FLR("buff = %s", buff);
    DEBUG_FLP("buff = %s", buff);
    return ;
}

void fun3(char* buff, int i)
{
    DEBUG_SFL("fun3");
    DEBUG_SFLB("i = %d", i);
    DEBUG_SFLR("buff = %s", buff);
    DEBUG_SFLP("buff = %s", buff);
    return ;
}
int main(void)
{
    SC_CLEAR();

    fun1();

    printf("---------\n");

    fun2("fun 2");
    
    printf("---------\n");

    fun3("fun3",3);

    return 0;
}
demo_main.c

技術分享圖片

【整理】Linux 下 自己使用的 debug宏 printf