From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Suvayu Ali Newsgroups: gmane.emacs.help Subject: Re: Call graph emacs tool Date: Fri, 20 Aug 2010 18:38:23 -0700 Message-ID: <4C6F2E0F.3020607@gmail.com> References: <87pqxdtg40.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1282354737 11409 80.91.229.12 (21 Aug 2010 01:38:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 21 Aug 2010 01:38:57 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Aug 21 03:38:57 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Omd2u-0003gl-MW for geh-help-gnu-emacs@m.gmane.org; Sat, 21 Aug 2010 03:38:57 +0200 Original-Received: from localhost ([127.0.0.1]:39043 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Omd2u-0004Gc-46 for geh-help-gnu-emacs@m.gmane.org; Fri, 20 Aug 2010 21:38:56 -0400 Original-Received: from [140.186.70.92] (port=53595 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Omd2V-0004GX-E4 for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 21:38:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Omd2T-0005A4-B2 for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 21:38:31 -0400 Original-Received: from mail-px0-f169.google.com ([209.85.212.169]:52194) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Omd2T-00059t-3A for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 21:38:29 -0400 Original-Received: by pxi5 with SMTP id 5so2327941pxi.0 for ; Fri, 20 Aug 2010 18:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=ZOyCu5q1gQNz0kSGRAVvOpLjanIswypxov/6tJlc6mk=; b=UNc2KhY5no9LchbqIJHoIQ70LcgyINDXPjHET/LbGLlGjKhGqmtAeQXFz/VxQYp4n3 OyNPbMm3RkWLf++jcUiG3zr+GhAPXkcSn6AlV29kJkfqRROcLcv+nKKyUG7z1aGpe/6i kiTe49t51lEeDw4JMrfBHR2+eLA10Q2Rx0zaM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; b=JATnJhyk91v1qFT9PhLJtnzIHHOOB7ncIRxnwSy/+yprCE6Y12YXQdLFseJ48bvTAr SLTcrLTwAjDG8DfIKx1h5XR3zBuB1ou2GiowiUUUAVB+a30i5c5lMqhq7xAiF1QJYFLc C6PgNYs3gQ2O1BPrUrtlwzIEEf0/K1szSu1Cw= Original-Received: by 10.114.107.12 with SMTP id f12mr2419828wac.21.1282354706639; Fri, 20 Aug 2010 18:38:26 -0700 (PDT) Original-Received: from bhishma.homelinux.net (d66-183-40-247.bchsia.telus.net [66.183.40.247]) by mx.google.com with ESMTPS id d39sm6029384wam.4.2010.08.20.18.38.24 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 20 Aug 2010 18:38:25 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100720 Fedora/3.1.1-1.fc13 Lightning/1.0b2pre Thunderbird/3.1.1 In-Reply-To: <87pqxdtg40.fsf@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:74756 Archived-At: On Friday 20 August 2010 09:15 AM, George Kadianakis wrote: > I'm looking for a tool (preferably an Emacs tool, but_seriously_ > anything will do) that will give me all possible code paths to a given > function of a C project. > > For example: > Input: (magic-script function) > Output: 1) main() [main.c] -> function_1() [main.c] -> function_2() [oh.c] -> function_3() [oh.c] -> function_4() [ohlol.c] -> function() [yay.c] > 2) main() [main.c] -> function_5() [yay.c] -> function_3() [oh.c] -> function_2() [oh.c] -> function() [yay.c] > 3) etcetera > > GNU cflow is actually doing that_but_ it doesn't support multiple > source files and it's not Emacs integrable. > > Do you people know of any such tools? I am not sure what you mean by all possible code paths to a function, but if you mean something like this, Then you can take a look at Semantic and the CEDET project[1]. [1]http://cedet.sourceforge.net/ -- Suvayu Open source is the future. It sets us free.