用于记录函数调用的工具

Tool to log function calls?

本文关键字:工具 函数调用 记录 用于      更新时间:2023-10-16

有没有一个工具可以记录函数调用和传递的内容C++?

前任:

Display::Resize(1024,768)
Player::Jump()
...

或者类似的东西可以线性地查看执行流,而无需在每个类的每个方法中调用 Log?

我使用Visual Studio作为IDE,但是任何可以做到这一点的外部工具或插件都会很棒。有吗?

谢谢

这可能会有所帮助: _penter钩

下面是一个例子:

一个更奇特的解决方案可能是看看面向方面的编程。一个基本的例子是记录函数调用。

有关C++示例,请参阅此处。

编辑:AspectC++中的一个小例子,用于跟踪来自成员函数的调用(在这种情况下为Iter::Reset

aspect Tracer
{ 
   advice call("% %Iter::Reset(...)") : before()
   {
      cerr << "about to call Iter::Reset for " << JoinPoint::signature() << endl;
   }
};

您可以设置断点,以便在使用调试器调用您感兴趣的函数时自动打印回溯,或使用专用工具(如 xtrace)。