c++,c,clang,code-analysis,call-graph
I find the answer from polkovnikov.ph to be the cleaner method of doing this. I wasn't aware that the .dot is so simple, and I will definitely use that way for similar problems. Unfortunately I also have to analyse software components where the interface to other components are C functions...
Have you tried creating a dynamic call graph for a regular Java application first? Or, at least, try to invoke the host JVM with javaagent? The mere fact static call graph works does not imply the dynamic should. If you would try dynamic, then you'll realize it does not "work"...
PyCharm is written in Java, and there is no API for accessing its internal code representation from a Python program. If you really want to do this, you can build a plugin for PyCharm that will expose the information in the way that you'll be able to consume, but this...
python,function,python-3.x,callstack,call-graph
How about using decorators to print a function's name when it is called? Something like this: from functools import wraps def print_on_entry(fn): @wraps(fn) def wrapper(*args): print "{}({})".format(fn.func_name, ", ".join(str(a) for a in args)) fn(*args) return wrapper Then you can wrap each of your functions up: func1 = print_on_entry(func1) func2 =...
c#,documentation,doxygen,static-methods,call-graph
As a quick work-around I made this Doxygen input filter using python. It assumes you have a .cs source file with one main class containing the static methods. Its a bit of a kludge as it doesn't do proper syntax parsing but it works for me ;) It takes the...
java,static-code-analysis,call-graph
It does look like Call Graph produces quite a decent output. Let's do a quick PoC. I'll use a sample output provided by Call Graph developer. org.apache.batik.dom.AbstractParentNode:appendChild org.apache.batik.dom.AbstractParentNode:fireDOMNodeInsertedEvent 6270 org.apache.batik.dom.AbstractParentNode:fireDOMNodeInsertedEvent org.apache.batik.dom.AbstractDocument:getEventsEnabled 6280 org.apache.batik.dom.AbstractParentNode:checkAndRemove org.apache.batik.dom.AbstractNode:getOwnerDocument 6280...