我在C ++中有一个非常大的源代码(使用标准模板编写)。我需要了解它的控制流程。它的入口点是main()
函数,但在main()
内它调用了很多函数(反过来调用了另一个函数),因此我很难跟踪到底在哪里。我正在使用eclipse在文件之间导航并跟踪,但仍然难以管理,因为它包含大约100个.c
和.h
文件。是否有任何工具可以从main()开始创建调用层次结构。虽然我有100个文件,但我知道它仅使用35个文件。我在Linux上。 GCC可以帮我解决这个问题吗?
答案 0 :(得分:7)
您可能使用的工具列表:http://en.wikipedia.org/wiki/Call_graph
我更喜欢doxygen:http://www.doxygen.nl/
来自http://www-scf.usc.edu/~peterchd/doxygen/的doxygen调用图的示例: