Difference between revisions of "C programming/Debug"

From Teknologisk videncenter
Jump to: navigation, search
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 08: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