OSDN Git Service

記録パス設定 記録CH設定 ファイル書込タイミング
[scilog/scilog.git] / debug_print.h
1 /*
2         本番では抑制するデバッグメッセージ
3 */
4 #undef PDEBUG
5 #undef PDEBUGF
6 #undef PDEBUGF_ERR
7 #undef PDEBUGF_NULL
8
9 // リリース時はコメント
10 //#define       DEBUG_PRINT
11
12 #ifdef DEBUG_PRINT
13 #  ifdef __KERNEL__
14 #    define PDEBUG(fmt, args...) printk(KERN_DEBUG "scull: " fmt, ## args)
15 #  else
16 // ノーマル
17 #    define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
18
19 // 関数名付き
20 #    define PDEBUGF(fmt, args...) \
21        fprintf(stderr, "%s() ", __FUNCTION__); \
22        fprintf(stderr, fmt, ## args); \
23        fflush(stderr)
24 // エラー
25 #    define PDEBUGF_ERR(fmt, args...) \
26        fprintf(stderr, "%s() ", __FUNCTION__); \
27        fprintf(stderr, fmt, ## args); \
28                 perror("errno string"); \
29        fflush(stderr)
30 // NULLチェック
31 #define PDEBUGF_NULL(var) \
32                 if (var == NULL) { \
33                         fprintf(stderr, "%s() ", __FUNCTION__); \
34                         fprintf(stderr, "%s==NULL\n", #var); \
35                         fflush(stderr); \
36                 }
37 #  endif
38         
39
40 #else
41 #  define PDEBUG(fmt, args...)
42 #  define PDEBUGF(fmt, args...)
43 #  define PDEBUGF_ERR(fmt, args...)
44 #  define       PDEBUGF_NULL(var)
45 #endif
46