什么是跟踪Visual Studio 2005 c多线程程序中函数的进入和退出的快速方法?

由于我使用activemq-cpp API的方式,我的ActiveMQ库中发生了间歇性崩溃.如果我可以观察导致崩溃的每个被调用的函数,那么调试问题要容易得多.有没有快速的方法来跟踪Visual Studio 2005 c多线程程序中的函数的进入和退出?

提前致谢!

最佳答案
使用Tracer对象.像这样的东西:


class Tracer
{
public:
  Tracer(const char *functionName) : functionName_(functionName)
  {
    cout &lt&lt "Entering function " &lt&lt functionName_ &lt&lt endl;
  }

  ~Tracer()
  {
    cout &lt&lt "Exiting function " &lt&lt functionName_ &lt&lt endl;
  }

  const char *functionName_;
};

现在您可以简单地在函数顶部实例化一个Tracer对象,当函数退出并调用析构函数时,它将自动打印“exiting …”:


void foo()
{
  Tracer t("foo");
   ...
}

转载注明原文:什么是跟踪Visual Studio 2005 c多线程程序中函数的进入和退出的快速方法? - 代码日志