是否有像 ASM for Java Bytecode 这样的 CIL 静态分析库? [关闭]

Posted

技术标签:

【中文标题】是否有像 ASM for Java Bytecode 这样的 CIL 静态分析库? [关闭]【英文标题】:Is there a CIL Static Analysis Library like ASM for Java Bytecode? [closed] 【发布时间】:2012-11-27 20:16:19 【问题描述】:

我正在寻找用于对 CIL 代码进行自定义静态代码分析的 。阅读:我对像here 那样已经进行静态分析的工具不感兴趣。

对于使用 Java 字节码的自定义分析,我使用了 ASM,我喜欢它提供的功能和良好的文档。 快速谷歌搜索“CIL 静态分析库”并没有产生任何似乎提供 ASM 功能的东西。

【问题讨论】:

【参考方案1】:

Mono.Cecil 是可用的 CIL 分析的最佳库。它是免费的、开源的、完整的、轻量级的、健壮的和快速的。除了读CIL,它还可以写CIL。它还支持 PDB 文件。

许多静态分析工具多年来一直依赖 Cecil。

【讨论】:

谢谢,我会进一步调查这个塞西尔。 酷,反正你找不到更好的了。我是依赖 Cecil 5 年的静态分析器 NDepend 的首席开发人员,我可以说 Cecil 的作者(来自 SyntaxTree syntaxtree.com 的 Jb Evain)做得很好,提供了很棒的支持!【参考方案2】:

看看反射器:www.reflector.net/

【讨论】:

这看起来更像是一个内部使用静态分析的工具,而不是像 ASM 那样启用静态分析的库。【参考方案3】:

我发现最接近的是微软的FxCop 实用程序。 (独立下载链接here,1.36好像没了,不过有人re-uploaded it to their Dropbox on another SO question)

它肯定与 C/C++ 静态分析工具完全不同,但话又说回来,C# 是一种托管语言,静态分析工具无法检查出许多常见错误。

另外,还有一个short list on Wikipedia of static analysis tools for .NET,可能值得一看。

【讨论】:

我正在寻找一个,让我作为程序员能够为 CIL 编写自定义静态分析,这似乎是一个 工具使用静态分析查找错误等。

以上是关于是否有像 ASM for Java Bytecode 这样的 CIL 静态分析库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

是否有像 Queue 这样实现 IAsyncEnumerable 的 C# 类?

可以使用 ASM 向现有 Java 类添加方法吗?

是否有像 scrollviewDidScroll 这样的 uipickerview 委托方法?

是否有像 pymedia 这样的库,但更新更多?

是否有像 *** 这样的 Spring Security OpenId 注册?

ASM字节码操作 Label 生成 for 循环 语句