Answer the question
In order to leave comments, you need to log in
Do you need a C-code visualizer that builds a graph of function calls?
There is a project of 30 cpp files, each file contains 20 functions. I want to quickly and clearly see, for example, for each file, what functions are in it and which of them calls whom (that is, I don’t want to see the printf () call and others).
Installed "Visual CppDepend 2.8.8", "Understand 2.6", "Visustin 6.12" and "Code Visual Editor 2.7" - they create lists of functions, even flowcharts for individual or selected functions - not that. "Understand" supposedly can do this, but "sees" 1-7 functions in the file instead of 25, and does not build a call graph.
Recommendations?
"Doxygen" and so on is not appropriate if it needs to be compiled; I want a ready-made program for Win32.
+2 hours: So, "Doxygen" has a normal installation, makes html and pictures, but does not build the desired one.
+4 hours: I have to admit that:
1. by installing (except for 6 good programs that did not bring results, broke or hung) GraphViz and
2. by setting its “bin” directory for Doxygen (“Expert” tab, “Dot” element near the “Topics” tree, edit box “DOT -PATH"), and
3. setting the necessary checkboxes (EXTRACT_ALL, CALL_GRAPH and CALLED_GRAPH - as stated in stackoverflow.com/questions/27857/cc-source-code-... )
4. and creating a fake graph_legend.png
- the program log finally turned out to be large and without errors, in the directory specified as Output for this “project” (2 files with the same name - cpp and h ) 190 files appeared, and among them 54 png - with graphs for each function (who calls it and another file - who she calls).
But damn, how do I get the big picture, and not for each feature separately??
Answer the question
In order to leave comments, you need to log in
It seems that, unfortunately, "Doxygen" does not distinguish between functions with the same name but a different number of parameters. :(
Although ok; in the static analysis of the program (by the code and not by the results of the log) it is difficult to understand which subspecies of the function will be called. Perhaps everything can be turned on (by finding and) by setting the necessary options. But in my version of the visualization, these two functions are indicated, and for the first below is painted in the column that everyone calls her.Below is her namesake without a graph, as if she is not called (from this cpp file), which is not true.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question