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 20:04:56 -0700 Message-ID: <4C6F4258.8080108@gmail.com> References: <87pqxdtg40.fsf@gmail.com> <4C6F2E0F.3020607@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 1282359940 22707 80.91.229.12 (21 Aug 2010 03:05:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 21 Aug 2010 03:05:40 +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 05:05:39 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 1OmeOj-0000gY-NA for geh-help-gnu-emacs@m.gmane.org; Sat, 21 Aug 2010 05:05:34 +0200 Original-Received: from localhost ([127.0.0.1]:44155 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OmeOj-0006qu-75 for geh-help-gnu-emacs@m.gmane.org; Fri, 20 Aug 2010 23:05:33 -0400 Original-Received: from [140.186.70.92] (port=34218 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OmeOD-0006q1-Ju for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 23:05:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OmeOB-0005cb-Ue for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 23:05:01 -0400 Original-Received: from mail-pz0-f41.google.com ([209.85.210.41]:55853) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OmeOB-0005cX-P0 for help-gnu-emacs@gnu.org; Fri, 20 Aug 2010 23:04:59 -0400 Original-Received: by pzk33 with SMTP id 33so2395111pzk.0 for ; Fri, 20 Aug 2010 20:04:58 -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=NPvZ78w0o3eMyeAeveLB/5mRaQbrrJTAwBo/dU86LGc=; b=dxrs/0F+8jvmzPlFnHlkQRwE1P0X4CePuWAwwfPtsC8SGImoN9/BDoSYYPk8nj68Rn revkuixpWDlKC065W7LDALQGLQFqpq50ia4jkv8nDlr/ZyElEvWoRcw00xT/Pc14ZajG Kaq3xig5oPIPKcGuiMPJVHmE1GeD/VR0EcCEA= 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=UCyBB7kwqTMoggG1TJdSV5c4LAbRpCaeiU/e5TPY0BoONRSnjbb8ufgOBlgJjfsd0c VgwGDg1KnO3NuNYAE5CJO4WzzgRKwsNPsTL48mmn/CMWgwhJe04JdJrOO8OEeYuA0Bd5 ZX4g/1Ly/2qsJ7/P6Cz0i51Pz2D/5GhpoRU9Q= Original-Received: by 10.114.111.15 with SMTP id j15mr2427241wac.187.1282359898878; Fri, 20 Aug 2010 20:04:58 -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 q6sm6175349waj.10.2010.08.20.20.04.57 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 20 Aug 2010 20:04:57 -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: 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:74758 Archived-At: On Friday 20 August 2010 06:50 PM, Richard Riley wrote: > Suvayu Ali writes: > >> 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, >> > > What is that supposed to be? Is that a call stack? > > Maybe I have misunderstood the OP's question. Its the result of the command `semantic-symref-symbol'. It looks up your symbol in all your project include paths and presents all references to the symbol as links. You can jump to it with `RET' or you can view with `'. In this case the symbol was a handy method I had written. There is a similar function for tags with a small difference, instead of presenting it in a buffer, it cycles through all the matches in a "completion like" buffer. All of this is of course with the CVS version of CEDET. Is that what the OP was looking for? -- Suvayu Open source is the future. It sets us free.