在Clang的静态分析仪中显示新的检查器

时间:2016-06-12 19:29:46

标签: clang-static-analyzer

我已将以下代码包含在

下的llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td文件中
let ParentPackage = CoreAlpha in{ 
... 
def SimpleFunc: Checker<"SimpleFunc">, 
  HelpText<"Simple Function Checking">, 
  DescFile<"SimpleFunc.cpp">; 

但是当我通过输入以下命令在成功编译后检查其存在时,检查器不可见。

clang -cc1 -analyzer-checker-help 

我不知道是什么原因,希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果不查看源文件,我不能说太多,但我可以想到两种可能性。首先,你可能会遗漏像

这样的东西
void ento::registerSimpleFunc(CheckerManager &mgr) {
    mgr.registerChecker<SimpleFunc>();
}
在SimpleFunc.cpp中的

,因为这将注册检查器。

其次,您可能忘记在 CMakeLists.txt 中添加 SimpleFunc.cpp ,以便SimpleFunc.cpp被编译和注册。