用于打印函数进入和退出跟踪的宏



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

#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
}

有几个用于C++的日志记录框架可以帮助完成此类操作。我喜欢log4cplus。

最新更新