From 8db5030a687b9a91ca39296edb6cd4728e5d71bf Mon Sep 17 00:00:00 2001 From: Artur Artamonov Date: Sun, 29 Jun 2014 19:14:44 +0300 Subject: Initial commit --- debug/Kconfig | 24 ++++++++++++++++++++++ debug/debug.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 debug/Kconfig create mode 100644 debug/debug.h (limited to 'debug') diff --git a/debug/Kconfig b/debug/Kconfig new file mode 100644 index 0000000..21dae6d --- /dev/null +++ b/debug/Kconfig @@ -0,0 +1,24 @@ +menuconfig DEBUG + bool "Enable debug output" + option debug + +if DEBUG +config DEBUG_PRINT_DEBUG + bool "Print debug" + default y + +config DEBUG_COLORIZE + bool "Colorize output" + default n + depends on DEBUG_PRINT_DEBUG + +config DEBUG_PRINT_LINENUM + bool "Print line number in debug" + default n + depends on DEBUG_PRINT_DEBUG + +config DEBUG_PRINT_FILENAME + bool "Print file name in debug" + default n + depends on DEBUG_PRINT_DEBUG +endif diff --git a/debug/debug.h b/debug/debug.h new file mode 100644 index 0000000..b030fbe --- /dev/null +++ b/debug/debug.h @@ -0,0 +1,66 @@ +#ifndef __RB_DEBUG_UTILS_H +#define __RB_DEBUG_UTILS_H + + +//what about kprintf? + +//config options +#define PRINTF printf +//#define COLORIZE +//#define PRINT_LINENUM +//#define PRINT_FILENAME +//#define PRINT_DEBUG + + +//use color +#ifdef CONFIG_DEBUG_COLORIZE + #define D_COLOR "1;32m" + #define D_COLOR_S "\033[" D_COLOR + #define D_COLOR_E "\033[0m" + #define E_COLOR "1;31m" + #define E_COLOR_S "\033[" E_COLOR + #define E_COLOR_E "\033[0m" +#else + #define D_COLOR + #define D_COLOR_S + #define D_COLOR_E + #define E_COLOR + #define E_COLOR_S + #define E_COLOR_E +#endif + +//print debug line +#ifdef CONFIG_DEBUG_PRINT_LINENUM + #define PRINT_LINE_F "LINE:%d " + #define PRINT_LINE_D __LINE__ +#else + #define PRINT_LINE_F "" + #define PRINT_LINE_D "" +#endif + +//print +#ifdef CONFIG_DEBUG_PRINT_FILENAME + #define PRINT_FILE_F "FILE:%s " + #define PRINT_FILE_D __FILE__ +#else + #define PRINT_FILE_F "" + #define PRINT_FILE_D "" +#endif + +//print debug string +#ifdef CONFIG_DEBUG_PRINT_DEBUG + #define PRINT_DEBUG_F "Debug: " +#else + #define PRINT_DEBUG_F "" +#endif + +#define PRINT( format, args ... ) PRINTF( D_COLOR_S PRINT_DEBUG_F \ + PRINT_FILE_F PRINT_LINE_F format D_COLOR_E, PRINT_FILE_D, \ + PRINT_LINE_D, ##args); + +#define ERROR( format, args ... ) PRINTF( E_COLOR_S PRINT_DEBUG_F \ + PRINT_FILE_F PRINT_LINE_F format E_COLOR_E, PRINT_FILE_D, \ + PRINT_LINE_D, ##args); + + +#endif -- cgit v1.2.3