Date: Thu, 30 Jun 2005 14:30:17 +0930 From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: FreeBSD Hackers <hackers@freebsd.org> Subject: Suurce code navigation tools with call graph? Message-ID: <20050630050017.GU31528@wantadilla.lemis.com>
next in thread | raw e-mail | index | archive | help
--SDZNRjzUoAX9KAL/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I'm currently in the position of needing to cut a large program into two halves and insert a clean API between them. To do this I need to get a good understanding of how the control flow works, and I'm looking for tools that might help me. So far I've seen: - etags will follow the control flow downwards with the find-tag command (M-. in Emacs). It's useful at times, but a little pedestrian for what I want to do. - cscope will show me all callers for a function. This is closer, but it's still not overly easy to read. - Source navigator (snavigator) gives a graphical representation of the downwards control tree for a function. It doesn't seem to be able to go in the other direction, i.e show what functions call a specific function. - doxygen does the same thing. Arguably the graphic representation is nicer. - kscope is a KDE wrapper for cscope. It seems to come closest to what I'm looking for in that it will show the callers, but the form in which it does so is painful. In particular, there doesn't seem to be any way to view the source code round the call. If that's the best there is, I can live with it. But is it the best? Does anybody have a better tool? And yes, I've looked through /usr/ports/devel, but with 1536 ports, it's easy to miss things. Greg -- The virus contained in this message was not detected. Finger grog@FreeBSD.org for PGP public key. See complete headers for address and phone numbers. --SDZNRjzUoAX9KAL/ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFCw3xhIubykFB6QiMRArVeAJ44LLY4kxYWtXXYi/gh9Z8YjDV2qQCeJNie owqtP8yYQsiK474hLl4tw+Q= =NWwP -----END PGP SIGNATURE----- --SDZNRjzUoAX9KAL/--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050630050017.GU31528>