C++ c++;:生成函数调用树

C++ c++;:生成函数调用树,c++,gcc,doxygen,slickedit,C++,Gcc,Doxygen,Slickedit,我想解析一个项目中的当前C++文件,并列出其中的所有方法/函数,然后生成函数调用和调用树。 F.g.您可以参考doxygen如何生成调用树 我已经检查了gccxml,但它没有列出从另一个函数调用的函数 请向我推荐一些我可以使用的轻量级工具(开源) 谢谢 目前,gccxml基本上忽略函数体(包括对其他函数的调用)。对当前可用的C++解析选项的一个很好的概述是——不一定是好消息的载体,而是推荐阅读。 < P >你提到Doxygen。为什么不使用它呢?静态调用树不一定是运行时调用树。回调和虚拟函数搅乱

我想解析一个项目中的当前C++文件,并列出其中的所有方法/函数,然后生成函数调用和调用树。 F.g.您可以参考doxygen如何生成调用树

我已经检查了gccxml,但它没有列出从另一个函数调用的函数

请向我推荐一些我可以使用的轻量级工具(开源)


谢谢

目前,gccxml基本上忽略函数体(包括对其他函数的调用)。对当前可用的C++解析选项的一个很好的概述是——不一定是好消息的载体,而是推荐阅读。

< P >你提到Doxygen。为什么不使用它呢?

静态调用树不一定是运行时调用树。回调和虚拟函数搅乱了局面。所以静态分析只能给出部分答案


我获得可靠调用树的唯一方法是在编译的可执行文件上运行gprof。可以将输出转换为非常精确的调用树。

我可能误解了,但visual studio也有类似的功能。
右键单击函数并选择调用浏览器。

对于依赖异步事件接收的应用程序,不可能提供完整的调用树分析。这就是我们考试的方式。即使在应用程序完全确定的最简单的情况下,这也可能是一项相对艰巨的任务,我认为它提供了边际价值。那么你将如何分析结果呢?效果如何

你想解决的问题很难。C++是一种非常难解析的语言。