我有一个很大的工作空间,有许多C代码的源文件.虽然我可以使用Object浏览器看到从MS VS2005中的函数调用的函数,但是在MSVC 6.0中,这只显示了在非图形显示中从特定函数调用的函数.另外,它没有显示从say开始调用的函数main()
,然后是从它调用的函数,依此类推,更深入到叶级函数内部.
我需要一个工具,它会给我一个功能调用图,用图形表示功能callee
,caller
用箭头或类似的东西连接,从main()
最后一级功能开始,或者至少在一个C源文件中以图形方式显示所有功能的调用图.如果我能打印这张图表会很棒.
任何好的工具(不一定是免费的工具)?
我正在尝试生成调用图,用它来找出所有可能执行特定函数的执行路径(这样我就不必手动计算出所有路径,因为有很多路径可以导致这个功能).例如:
path 1: A -> B -> C -> D
path 2: A -> B -> X -> Y -> D
path 3: A -> G -> M -> N -> O -> P -> S -> D
...
path n: ...
Run Code Online (Sandbox Code Playgroud)
我已经尝试过Codeviz和Doxygen,不知怎的,两个结果只显示目标函数的被调用者D.在我的例子中,D是一个类的成员函数,其对象将被包装在智能指针中.客户端将始终通过工厂获取智能指针对象以调用D.
有谁知道如何实现这一目标?
我有一堆脚本来执行任务.我真的需要知道项目的调用图,因为它非常令人困惑.我无法执行代码,因为它需要额外的硬件和软件才能执行此操作.但是,我需要理解它背后的逻辑.所以,我需要知道是否有一个工具(不需要任何python文件执行)可以使用模块而不是trace或python解析器构建调用图.我有这样的工具用于C但不用于python.
谢谢.
我看过" /sf/ask/96973481/ ",并试了一下.如果你想得到一个抽象的语法树,它运作良好.
不幸的是关闭编译器似乎只提供--print_tree
,--print_ast
和--print_pass_graph
.它们都不适合我.
我想查看哪个函数调用其他函数的图表.
我刚收到一大堆(大多数是未记录的)C#代码,我想在潜入并开始重构之前想象它的结构.我在过去(使用其他语言)使用生成调用图的工具完成了这项工作.
你能推荐一个好的工具来促进C#中的结构发现吗?
UPDATE
除了这里提到的工具,我已经看到(通过电子管)人们说.NET Reflector和CLR Profiler具有此功能.有这些经验吗?
我已经获得了大量格式不佳的单片R代码,并且有很多功能,我想知道哪些函数调用了什么函数.
我以为我可以使用roxygen的@callGraph东西,但是a)代码需要在一个包中,这将是这个代码的头疼,并且b)当我在一个简单的上运行它时它似乎不起作用我的包裹.我看到其中一位Roxygen作者发布了一条帖子,称由于Rgraphviz依赖关系而禁用了调用图生成,但代码就在那里.无论如何.
任何人都有更好的方法来快速计算foo调用bar,baz和qux,而qux调用quux?
编辑:基于R的分析系统的解决方案很棒,假设您可以实际运行代码...文件中的一半东西不会运行,我不知道它做了什么...静态分析太多了我想是希望的.
编辑2:Roxygen的调用图东西似乎做了一个静态分析,基于函数表达式的递归下降和检查is.callable.能够在任何功能上运行它会很可爱......明天我可能会玩这个...
我正在寻找一个类似于gprof的实用程序,它将生成PHP代码的调用图.我更喜欢可以产生图形输出的东西,或者至少可以由GraphViz或类似的东西解释的文本输出,但我会选择纯文本输出.
有谁知道任何可以做到这一点的工具?
我有一个很大的95%C,5%C++ Win32代码库,我试图解决.
有哪些现代工具可用于为C或C++项目生成调用图表?
我想要做的是扫描一组Java类,并从抽象类的特定方法跟踪所有方法调用,并在该上下文中,构建执行某些操作的所有代码的列表(在本例中,实例化)某个类的实例).我想知道,行号和提供的参数.
我已经开始关注BCEL,但它似乎没有内置调用图形跟踪?我犹豫要写自己的,因为获得重载,类型签名和多态分派权可能是棘手的.
我一半期望存在一个工具或示例代码,但我还没有找到任何东西.我真的觉得我要重新发明一个轮子.但是,如果我这样做将是一个开源轮,可在GitHub上使用;-)
PS:你会发现现有的问题" 如何生成Java调用图 ",因为它听起来完全一样,但它根本不是我需要的.
是否有适用于JavaScript的Call-Graph和/或Control-Flow-Graph生成器?
调用图 - http://en.wikipedia.org/wiki/Call_graph
控制流图 - http://en.wikipedia.org/wiki/Control_flow_graph
编辑:我正在寻找一个静态工具,让我使用一些API /代码访问图形
javascript call-graph control-flow serverside-javascript node.js