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

什么是跟踪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-c-2005,c,activemq,visual-studio-2005,trace
来源: https://codeday.me/bug/20190731/1585504.html