是否有可以记录函数调用和传递内容的C ++工具?
例如:
Display::Resize(1024,768)
Player::Jump()
...
或者类似的东西,在每个类的每个方法中没有Log调用的情况下线性地看到执行流程?
我使用Visual Studio作为IDE,但任何可以做到这一点的外部工具或插件都会很棒。有没有?
由于
答案 0 :(得分:1)
这可能会有所帮助:_penter hook
这是一个example:
答案 1 :(得分:0)
您可以设置断点,在您使用调试器调用您感兴趣的函数时自动打印回溯,或者使用xtrace等专用工具。
答案 2 :(得分:0)
更奇特的解决方案可能是看Aspect-Oriented Programming。一个基本的例子是记录函数调用。
有关C ++示例,请参阅this。
编辑:AspectC ++中的一个小例子,用于跟踪成员函数的调用(在这种情况下为Iter :: Reset)
aspect Tracer
{
advice call("% %Iter::Reset(...)") : before()
{
cerr << "about to call Iter::Reset for " << JoinPoint::signature() << endl;
}
};