Wednesday, September 5, 2012

DPRINTF Debug Macro in C

Extremely useful for Debugging projects in C.

#define DEBUG   // comment if you do not want the debug statments to appear.

#ifdef DEBUG
#define DPRINTF(fmt, ...) \
    do { printf("my_file: " fmt, ## __VA_ARGS__); } while (0)
#define DPRINTF(fmt, ...) \
    do { } while (0)

Usage -> DPRINTF("This is a debug statement");

if you want the debug statements to appear, then define DEBUG
#define DPRINTF
at start of the code.

if, on the other hand, you do not wish the debug statements to appear, comment it.

you can add additional information to your debug statement, for example -

DPRINTF("%p:%d Debug statement\n",__func__,__LINE__);

this gives both the function name and the line number of the DPRINTF statement along with the message "Debug statement".

No comments:

Post a Comment