This is the mail archive of the
sourcenav@sources.redhat.com
mailing list for the Source Navigator.
thanks
- To: sourcenav at sources dot redhat dot com
- Subject: thanks
- From: Riccardo Cohen <rcohen at dial dot oleane dot com>
- Date: Mon, 04 Jun 2001 13:36:18 +0100
- Organization: articque
I have been looking for a tool, cheap or free, that just gives the call tree in a proper manner.
Thank you to have done it in a marvelous package full of easy to use features.
Let me suggest one little thing. Suppose you have the two functions :
void dumfunc2()
{
dumclass *doubleinst; // should appear with another class in ref
doubleinst=new dumclass;
doubleinst->doit();
delete doubleinst;
}
void dumfunc3(dumclass *doubleinst)
{
doubleinst->doit();
}
Your analyse forget to tell that new and delete are called from the first one
(dump main.to)
# dumfunc2 fu # dumclass cl r 000064 D:/Devel/LIB_TOOL/CallGraf.2/main.cxx {} {}
# dumfunc2 fu # dumclass cl r 000065 D:/Devel/LIB_TOOL/CallGraf.2/main.cxx {} {}
# dumfunc2 fu dumclass doit mi r 000066 D:/Devel/LIB_TOOL/CallGraf.2/main.cxx {} {}
# dumfunc3 fu # dumclass cl r 000069 D:/Devel/LIB_TOOL/CallGraf.2/main.cxx {dumclass *} {}
# dumfunc3 fu dumclass doit mi r 000071 D:/Devel/LIB_TOOL/CallGraf.2/main.cxx {dumclass *} {}
so the two functions seems to be the same from the caller/called point of view.
There is also another point you may work on : sourcenavigator forgets base methods :
class a
{
public:
doit();
};
class b:class a
{
public:
call() {doit();}
}
dump try.to :
b call mi # doit ud r 000009 C:/zdrop/try.cxx {} {}
doit() is not undefined but a method of the base class "a".
Thanks anyway and please continue to support it !
--
Riccardo Cohen
Articque
Les Roches
37230 Fondettes
France
email = rcohen@dial.oleane.com
web = http://www.articque.com
tel: +33 02 47 49 90 49
fax: +33 02 47 49 91 49