My Project
Main Page
Related Pages
Files
File List
Globals
Debug.h
Go to the documentation of this file.
1
#ifndef __DEBUG_H__
2
#define __DEBUG_H__
3
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
42
#include <stdio.h>
43
54
void
debugInit
(
int
* argc,
const
char
* argv[]);
55
59
void
debugToFile
(
const
char
* fileName);
60
63
void
debugClose
(
void
);
64
68
extern
int
debugLevel
;
69
73
extern
FILE*
debugFile
;
74
75
#ifdef DEBUG
76
#define DEBUG_ENABLED 1 // debug code available at runtime
77
#else
78
83
#define DEBUG_ENABLED 0 // all debug code optimized out
84
#endif
85
87
#define HERE debug("HERE")
88
92
#define debugV(name) #name,(name)
93
98
#define vDebug(fmt, name) debug("%s=(" fmt ")" , debugV(name))
99
101
#define debug(fmt, ...) lDebug(1, fmt, ##__VA_ARGS__)
102
108
#define lDebug(level, fmt, ...) \
109
do { \
110
if (DEBUG_ENABLED && (debugLevel >= level)) \
111
fprintf((debugFile ? debugFile : stderr), "DEBUG %s[%d] %s() " fmt "\n", \
112
__FILE__, __LINE__, __func__, ##__VA_ARGS__); \
113
} while(0)
114
115
#ifdef __cplusplus
116
}
117
#endif
118
119
#endif
120
debugToFile
void debugToFile(const char *fileName)
Definition:
Debug.c:54
debugClose
void debugClose(void)
Definition:
Debug.c:63
debugLevel
int debugLevel
Definition:
Debug.c:27
debugInit
void debugInit(int *argc, const char *argv[])
Definition:
Debug.c:33
debugFile
FILE * debugFile
Definition:
Debug.c:29
Generated by
1.8.11