使用GNU gcc -finstrument-functions时如何确定C ++成员函数是否静态

时间:2018-11-24 22:39:21

标签: c++ gcc profiling stack-trace instrumentation

我正在尝试创建一个工具(使用linux gcc),该工具将生成功能跟踪,然后可用于创建UML序列图。目前,这些工具运行良好,但是在处理C ++静态成员函数时却感到困惑。我正在做的是在对this_pointer__cyg_profile_func_enter()的所有调用上记录以下函数:function_name,class_name和“ __cyg_profile_func_exit()”。这使我以后可以生成所有对象交互的UML图。

问题是:静态成员函数没有“ this指针”,因此我的逻辑返回了垃圾,因为我不知道该函数是静态的。我可以通过某种符号表查找功能或API在运行时确定调用函数是静态的吗?

或者建议使用其他技术。

谢谢你, 斯图尔特

0 个答案:

没有答案