From mboxrd@z Thu Jan 1 00:00:00 1970 From: Riccardo Cohen To: sourcenav@sources.redhat.com Subject: thanks Date: Mon, 04 Jun 2001 04:36:00 -0000 Message-id: <3B1B80C2.5E67B8CD@dial.oleane.com> X-SW-Source: 2001-q2/msg00191.html 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