Thread: Tool for displaying call graph

  1. #1
    Registered User
    Join Date
    Jul 2005
    Posts
    25

    Tool for displaying call graph

    Hello,

    Would there be a free tool for parsing a bunch of .cpp files and generating a static function call graph of an application, including calls to virtual functions and preferably thread creation?

  2. #2
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    My IDE does it.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  3. #3
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Kde?

  4. #4
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    I mean MSVC, but kde may does, I didn't try.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    Perhaps http://sourcenav.sourceforge.net/
    One thing I like about it is that you can export the databases as text files, so you can do a lot more digging around looking for information than what the GUI front-end allows you to do.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    Registered User
    Join Date
    Jul 2005
    Posts
    25
    Quote Originally Posted by maxorator
    Kde?
    I'm working under Windows, actually. Visual Studio 2005 allows me to build something like a one-vertex-at-a-time call graph, but it's slow and inconvenient.
    I can easily run Linux under a VM, though.

    Quote Originally Posted by siavoshkc
    My IDE does it.
    Mine doesn't.
    What IDE are you using?

  7. #7
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    What IDE are you using?
    Visual Studio 2005.

    I'm working under Windows, actually. Visual Studio 2005 allows me to build something like a one-vertex-at-a-time call graph, but it's slow and inconvenient.
    Slow? Inconvenient? Why?
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  8. #8
    Registered User
    Join Date
    Jul 2005
    Posts
    25
    Quote Originally Posted by siavoshkc
    Slow? Inconvenient? Why?
    For one, because AFAIK you have to pick a function, and manually expand the call list for each of the functions it calls. Finally you wind up with a call tree, which contains lots of duplicate entries and makes it difficult to see the big picture. I'm looking for a tool with output which looks like GraphViz's.

    Quote Originally Posted by Salem
    I'll check out sourcenav and see what it's about, thanks.

  9. #9
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    For one, because AFAIK you have to pick a function, and manually expand the call list for each of the functions it calls.
    It is good because of this. Anyway you can pick main function to see all calls.
    Why you wanna see the call graph? For exprience?
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. minix system call pls help for project
    By porvas in forum Linux Programming
    Replies: 2
    Last Post: 06-14-2009, 02:40 AM
  2. How to get RSSI value, send to sensor, sensor receive package, repackage it?
    By techissue2008 in forum Networking/Device Communication
    Replies: 1
    Last Post: 03-04-2009, 10:13 AM
  3. Error C2664 - Trying to call an external Dll
    By jamez05 in forum C++ Programming
    Replies: 3
    Last Post: 08-08-2006, 06:07 AM
  4. howto add sys call using modules only ?
    By pinkeshzaveri in forum Linux Programming
    Replies: 1
    Last Post: 08-23-2005, 12:28 PM
  5. Minimize crossing edges in undirected graph
    By Shiro in forum C Programming
    Replies: 0
    Last Post: 12-26-2001, 04:48 AM