最近负责完成一个不算小的服务器程序, 虽然已经加了不少的异常判断以及printf, 但程序有时候还是会莫名其妙地挂掉, 跟踪调试多了, 实在让人害怕.
因此使用一个简单的宏来跟踪函数调用.
#define trace_fun() if(TRACE_FUN) fprintf(stderr, "-- %s\n", __FUNCTION__)
当然, 这样或许更好些
#define trace_fun() {if(TRACE_FUN) fprintf(stderr, "-- %s\n", __FUNCTION__);}
在需要记录轨迹的函数开头加上 trace_fun() 即可.
以下为测试代码:
#include <stdio.h>
//#define trace_fun() if(TRACE_FUN) fprintf(stderr, "-- %s\n", __FUNCTION__)
#define trace_fun() {if(TRACE_FUN) fprintf(stderr, "-- %s\n", __FUNCTION__);}
#define TRACE_FUN 1
int test(void);
int main(int argc, char *argv[])
{
trace_fun();
test();
return 0;
}
int test(void)
{
trace_fun();
return 0;
}