调试代码一般需要定位问题,这里给出一个解决方案,
一般的编译器均支持这些宏指令。
#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@%05d]%s: %s\r\n", __FILE__, __LINE__, log_trace_time(), log_trace_memory())
#define trace_fmt0(fmt) log_trace_moniter("[%s@%05d]%s: " fmt, __FILE__, __LINE__, log_trace_time())
#define trace_fmt1(fmt, p1) log_trace_moniter("[%s@%05d]%s: " fmt, __FILE__, __LINE__, log_trace_time(), p1)
#define trace_fmt2(fmt, p1, p2) log_trace_moniter("[%s@%05d]%s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2)
#define trace_fmt3(fmt, p1, p2, p3) log_trace_moniter("[%s@%05d]%s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3)
#define trace_fmt4(fmt, p1, p2, p3, p4) log_trace_moniter("[%s@%05d]%s: " fmt, __FILE__, __LINE__, log_trace_time(), p1, p2, p3, p4)
#define trace_fmt5(fmt, p1, p2, p3, p4, p5) log_trace_moniter("[%s@%05d]%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@%05d]%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@%05d]%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
walnutcy_696810119 2011-12-3 14:29
用户1450745 2011-11-22 11:06
walnutcy_696810119 2011-11-17 21:51
用户1497082 2011-11-17 08:12