TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: offline gprof




On Linux there are several tools for software visualisation
that run on Linux.
I do not have the URLS handy but I here are the names,
a good search engine will find them:

Cygnus Source Navigator (SN) 
Sniff+
CIA/CIA+/CIAO (downloadable from www.reasearch.att.com)
Rigi
Lackwit
CStar
Elbereth
Gen++

SN and Sniff+ are actually multilanguage commercial IDEs,
and seem very similar in design.
They can visualise call, inheritace and include/import graphs.
They can also do sophisticated pattern searches (on the argument type
for example).
There are time limited demos of both.
SuSE is distributed with SN-lite,
this is a permanent license but limited to projects under 50000 lines
(you have to email Cygnus for the key).
SN-professional is affordable. There is also SN-eneterptise.
Sniff+ is rather expensive.
SN supports C++, Java and TCL.
I use SN with xemacs plugged in as the editor.
With JDE loaded into xemacs,
it makes a killer Java IDE.

The CIA tools are excellent for c/c++ analysis/visualisation.
They also display other dependencies than just call graphs.
They are free for noncommercial  use if I remeber correctly.
The the graph visualisation is better than in SN & Sniff.
I think the query/indexing may be better in SN though.
If you only want C/C++ these may serve you better than SN.

Rigi is a free academic tool designed primarily just for visalisation.
It has the most powerful graphical capabilities,
but the supplied C analyzer is not the best.
The visual front-end actually works from flat file databases,
so you can use it with analyzers from other tools.
It is written in Tcl/Tk.

Lackwit is a free  academic C visualisation tool.
It is worth checking out

CStar and Elbereth implement Griswolds Star Diagrams
for C and Java respectively.
These are graphs which show data dependencies in code:
more fine grained than just call graphs.
I have not played enough with these to  offer more opinion.

I know very little about Gen++. It may not even run on linux

Xemacs OOBR is very useful but does not actually display call graphs.

It is worth looking around on the net.
These kinds of tools have come into fashion because of Y2K,
and new ones are likely to pop up.

regards
Daniel Mahler