Suurce code navigation tools with call graph?

From: Greg 'groggy' Lehey (grog_at_FreeBSD.org)
Date: 06/30/05

  • Next message: Pablo Mora: "Re: problem handling POSIX thread on FreeBSD"
    Date: Thu, 30 Jun 2005 14:30:17 +0930
    To: FreeBSD Hackers <hackers@freebsd.org>
    
    
    

    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.
    
    



  • Next message: Pablo Mora: "Re: problem handling POSIX thread on FreeBSD"