首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >源代码分析工具?

源代码分析工具?
EN

Stack Overflow用户
提问于 2010-09-21 22:25:06
回答 7查看 3.8K关注 0票数 2

C和C++的源代码分析和探索工具似乎非常缺乏。

有没有什么工具可以用来收集有关C和/或C++源文件的信息?cscope做了我需要的一部分,Doxygen看起来更近了。

在所有函数、调用者、被调用者、变量引用等的最小列表中,也许Doxygen的xml输出可以正常工作。

理想情况下,gcc或llvm可以为此而着迷,但我还没有找到一个方便的方法。

有什么建议吗?

EN

回答 7

Stack Overflow用户

发布于 2010-09-21 23:19:57

有clang静态分析器,它是llvm的clang前端的一部分,但我不知道它在C/C++上有多好。似乎他们的大部分努力都在朝着Objective-C的方向发展。

http://clang-analyzer.llvm.org/

Dot适用于调用图,您需要安装GraphViz并使用doxywizard在图部分(专家模式点部分中的CALL_GRAPH和CALLER_GRAPH )中选择调用图和调用图。

票数 2
EN

Stack Overflow用户

发布于 2010-09-21 22:31:38

您可能会发现SourceMonitor有助于对代码进行更多的统计分析,而且它是免费的:)

票数 1
EN

Stack Overflow用户

发布于 2010-09-22 10:44:34

我们的DMS Software Reengineering Toolkit及其C front endC++ Front End可以提供大量关于C和C++程序的信息。

使用C前端的DMS可以解析大量的C源文件,构建完整的AST(甚至捕获注释)和符号表,并提供control and data flow analysis, with points-to analysis and call graphs。C++前端构建AST和完整的符号表,但尚未提供所有流分析信息。

DMS提供了调用解析器/流分析器的工具;您可以提供一些自定义代码来提取所需的信息。

它还具有修改AST和重新生成可编译源代码的附加功能。

我想你会发现,没有一种工具可以提取精确的自定义数据是“容易”使用的;你问的问题和答案的本质是由复杂的语言语义造成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3761282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档