c++: generate function call tree

Java Spring Coder picture Java Spring Coder · Nov 13, 2009 · Viewed 6.9k times · Source

I want to parse current c++ files in a project and list out all the methods/functions in it and then generate the function call and caller trees. F.g. you can refer how doxygen generates the call tree.

I have checked gccxml but it doesn't list the functions called from another function.

Please suggest me some lightweight tools (open source) which I can use it.

thanks!

Answer

deft_code picture deft_code · Nov 13, 2009

The static call tree isn't necessarily the runtime call tree. Callbacks and virtual functions muddy the water. So static analysis can only give you part of the answer.

The only way I've ever been able to get a reliable call tree was to run gprof on the compiled executable. The output can be massaged into a very accurate call tree.