用于打印功能输入和退出跟踪的宏

时间:2014-02-18 19:38:36

标签: c++ function macros trace

我正在尝试调试一个问题,我想打印每个函数的进入和退出/离开的跟踪,以便我可以跟踪序列流。 可以写入用于打印函数输入和退出/离开跟踪的宏。 我知道我应该创建一个类,其构造函数应该记录入口,而析构函数应该记录函数的退出/离开。但我不清楚应该如何实施。任何的意见都将会有帮助。 谢谢!

2 个答案:

答案 0 :(得分:1)

#define LOG_CALL tracer_t _token(__func__)
struct tracer_t {
    char const* fname;
    tracer_t(char const* fname_): fname(fname_) { printin(fname); }
    ~tracer_t() { printout(fname); }
}

void myfunc() { LOG_CALL;
    // test function
}

答案 1 :(得分:0)

有几种C ++日志框架可以帮助完成这类工作。我喜欢log4cplus。