Difference between revisions of "C programming/Debug"
From Teknologisk videncenter
m (Created page with "=Simple= <source lang=c> #include <stdio.h> // debugging macros so we can pin down message origin at a glance #define WHERESTR "[file %s, line %d]: " #define WHEREARG __FILE__,...") |
m (→Simple) |
||
Line 8: | Line 8: | ||
#define DEBUGPRINT(_fmt, ...) DEBUGPRINT2(WHERESTR _fmt, WHEREARG, __VA_ARGS__) | #define DEBUGPRINT(_fmt, ...) DEBUGPRINT2(WHERESTR _fmt, WHEREARG, __VA_ARGS__) | ||
//... | //... | ||
− | |||
int main(main) { | int main(main) { |
Revision as of 07:12, 17 January 2013
Simple
#include <stdio.h>
// debugging macros so we can pin down message origin at a glance
#define WHERESTR "[file %s, line %d]: "
#define WHEREARG __FILE__, __LINE__
#define DEBUGPRINT2(...) fprintf(stderr, __VA_ARGS__)
#define DEBUGPRINT(_fmt, ...) DEBUGPRINT2(WHERESTR _fmt, WHEREARG, __VA_ARGS__)
//...
int main(main) {
int x = 9;
printf("Real code....\n");
DEBUGPRINT("I am a debug string...., x=%d\n", x);
printf("Done\n");
return(0);
}
Compile and run
[root@oldmars bin]#gcc debug.c -o debug
[root@oldmars bin]#./debug
Real code....
[file debug.c, line 13]: I am a debug string...., x=9
Done