|
1
7
这几乎可以肯定是矫枉过正,但你可以用C、C++、PHP、Java、C#等语言来实现这一点 Doxygen (如果你有 Graphviz dot 安装)。 Here's a page with a sample call tree 由Doxygen/dot生成。 Doxygen在Windows上运行良好,可以 output HTML and a few other formats . |
|
2
1
读取源代码但不理解深层语义意义上的编程语言的工具只能给你一个调用图的近似值。(如果调用发生在宏中怎么办?如果该调用发生在禁用的预处理器条件中怎么办呢?如果调用是间接的怎么办?) 如果你想要一个准确的调用图,你需要一个工具,使用语言的全部知识来构建一个调用图。Frama-C(见另一个答案)AFAIK就是其中之一,尽管我不知道它是如何处理宏和间接调用的。 DMS Software Reengineering Toolkit and its C front end 具有完整的C宏/预处理器处理能力,并为文件系统构建调用图。它在调用图构造中特别包括一个分析点,为您提供间接函数调用位置的保守近似值。看 example call graph 黑色弧线(直接呼叫)和蓝色弧线(保守分析)间接呼叫。 |
|
3
0
许多工具都会生成这种调用图。Doxygen很可能对结果有最多的呈现选项,其核心是一个“有文化的编程”工具。 开源工具位于 http://frama-c.cea.fr/ 生成调用图(也是点格式),并尝试自动按“服务”对函数进行分组: http://img23.yfrog.com/img23/8180/9il.png |
|
|
4
0
CodeInsight是一个商业编辑器,具有CTAGS/CSCOPE的功能。它还可以显示调用树图(以及几乎任何其他关系)。 |
|
|
5
0
Source Navigator似乎再次处于开发阶段(SourceNav NG的最新版本是在今年2月发布的)。源导航器可以为您提供调用树、类依赖关系等。我没有试过最近的版本。适用于windows或X11。 |
|
|
Federico · 应特别注意确保安全使用堆栈上分配的字符数组 8 年前 |
|
|
fbrereto · 哪些函数注释标志可用于覆盖率扫描? 9 年前 |
|
|
Arthur Ward · 哪个自定义词典规则处理带有数字的首字母缩略词? 10 年前 |
|
|
Delphichem · 在delphi西雅图或代码分析中找不到内联变量集成 10 年前 |
|
|
Dave New · 代码分析规则异常情况 12 年前 |
|
|
dacongy · javascript生成的网页分析 12 年前 |
|
|
Cornel Marian · 代码分析和声纳有什么区别? 12 年前 |