[Qt-creator] Extract call graph from QtCreator(2)

Tobias Hunger tobias.hunger at gmail.com
Sun Oct 20 12:36:21 CEST 2013


Hello,

could you please use plain text mail instead of this multi-part base64
encoded mess? Plain text is way easier to read for the old people on
this list, some of which insist on using text-only mailers. Now that I
complained about non-plain-text mails, I hope my mailer won't end up
sending HTML mail again;-)

Anyway:

On Oct 20, 2013 1:59 AM, "欧三股四" <549088764 at qq.com> wrote:
>
> Many Thanks for Nikolai Kosjar's help in my last e-mail. However, as the code of QtCreator is the largest one I have ever encountered and there's few articles about it on the Internet, I have to get more details before I start.

We actually have a "Extending Qt Creator" manual which is supposed to
help get newbies started with plugin development. That does need quite
a bit more information and is far from complete, but maybe it can help
a bit to get started.

http://doc-snapshot.qt-project.org/qtcreator-extending/extending-index.html

> Actually, I want to add a visualization module to QtCreator, which is similar to the CodeMap plugin in Eclipse JDT.
>
>
>
> As you can see above, the plugin visualize the code as a map. An island means a cluster of similar files, the red marks indicate the places where a symbol appears, and the arrows mean the call graph of a function.I think this visual metaphor will help when we navigate the code, and I want to introduce it into QtCreator.

Looks cool, go for it:-)

his seems to be based on the master thesis by David Samuel Erni from
2010 at the university of Bern (
http://scg.unibe.ch/archive/masters/Erni10a.pdf ). Did you follow the
research to find out whether there was progress in that area since
2010? Maybe they got something newer and even more shiny by now;-)

The call graph seems like a secondary concern going by that paper,
considering that the call graph is just one overlay over the map of
the project.

This is not exactly my area of expertise, so just general comments from my side:

> Specifically, I want to take the following steps:
> 1. I extract all call graphes of functions

I would get started with a "show call graph" action that you can
trigger on any function and that displays where the function is called
from as well as what the function is calling in turn. Something like
"show usages" on steroids. That should be reasonably easy to test to
make sure the next steps are on a stable foundation.

Only in the second step I would use that code to generate all call
graphs of functions.

Best Regards,
Tobias



More information about the Qt-creator mailing list