热度 27
2011-11-14 11:30
4627 次阅读|
4 个评论
调试代码一般需要定位问题,这里给出一个解决方案, 一般的编译器均支持这些宏指令。 #define DEBUG_WALT_1113 1 extern void log_trace_moniter(char* fmt, ...); #if DEBUG_WALT_1113 extern CHAR* log_trace_memory(void); extern CHAR* log_trace_time(void); #define trace_memory_moniter() log_trace_moniter(" %s: %s\r\n", __FILE__, __LINE__, log_trace_time(), log_trace_memory()) #define trace_fmt0(fmt) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time()) #define trace_fmt1(fmt, p1) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1) #define trace_fmt2(fmt, p1, p2) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2) #define trace_fmt3(fmt, p1, p2, p3) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3) #define trace_fmt4(fmt, p1, p2, p3, p4) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3, p4) #define trace_fmt5(fmt, p1, p2, p3, p4, p5) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3, p4, p5) #define trace_fmt6(fmt, p1, p2, p3, p4, p5, p6) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3, p4, p5, p6) #define trace_fmt7(fmt, p1, p2, p3, p4, p5, p6, p7) log_trace_moniter(" %s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3, p4, p5, p6, p7) #else #define trace_memory_moniter() #define trace_fmt0(fmt) #define trace_fmt1(fmt, p1) #define trace_fmt2(fmt, p1, p2) #define trace_fmt3(fmt, p1, p2, p3) #define trace_fmt4(fmt, p1, p2, p3, p4) #define trace_fmt5(fmt, p1, p2, p3, p4, p5) #define trace_fmt6(fmt, p1, p2, p3, p4, p5, p6) #define trace_fmt7(fmt, p1, p2, p3, p4, p5, p6, p7) #endif