gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:19:34 24 4
gpt4 key购买 nike

由于我使用 activemq-cpp API 的方式,我的 ActiveMQ 库中出现间歇性崩溃。如果我能观察到导致崩溃的每个函数被调用,那么调试问题就会容易得多。在Visual Studio 2005 c++ 多线程程序中,有什么快速跟踪函数进入和退出的方法吗?

提前致谢!

最佳答案

使用 Tracer 对象。像这样:


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

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

const char *functionName_;
};

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


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

关于c++ - 在Visual Studio 2005 c++ 多线程程序中跟踪函数进入和退出的快速方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com