代码之家  ›  专栏  ›  技术社区  ›  creednmd

使用外部Xcode-Clang静态分析器二进制文件,并进行附加检查

  •  3
  • creednmd  · 技术社区  · 15 年前

    我正在使用Xcode 3.2.4,并已设置了Clang静态分析器功能,以使用较新的二进制版本,如下所述: http://clang-analyzer.llvm.org/xcode.html

    设置xcode分析器 命令行实用程序,用于更改Xcode用于 构建和分析 .)

    我想不出的是如何设置二进制文件以使用附加检查,例如-analyzer check objc missing dealloc当通过Xcode使用二进制文件时,如下所述: http://loufranco.com/blog/files/scan-build-better-than-build-analyze.html 在扫描构建中——帮助。

        AVAILABLE ANALYSES (multiple analyses may be specified):
    
     (+) -analyzer-check-dead-stores
         -analyzer-check-llvm-conventions
     (+) -analyzer-check-objc-mem
     (+) -analyzer-check-objc-methodsigs
         -analyzer-check-objc-missing-dealloc
     (+) -analyzer-check-objc-unused-ivars
     (+) -analyzer-check-security-syntactic
    
     NOTE: "(+)" indicates that an analysis is enabled by default unless one
           or more analysis options are specified
    

    当通过Xcode使用时,如何向二进制文件传递额外的选项?

    2 回复  |  直到 15 年前
        1
  •  7
  •   creednmd    15 年前

    在进一步调查之后,最好的方法似乎是在目标构建信息中使用几个条目,而不是 设置xcode分析器 命令行工具。

    /垃圾箱/叮当声 在路的尽头):

    CC = /Path/To/Folder/With/Clang/checker-244/bin/clang
    

    条目添加所需的任意多个附加检查,如下所示:

    WARNING_CFLAGS = -Xanalyzer -analyzer-check-llvm-conventions -Xanalyzer -analyzer-check-objc-missing-dealloc
    

    每个前面都有参数 它指示下一个参数应该传递给分析器。

    更多信息请参见: Mac OS X Developer Tools Manual Page .

    然后,当你做一个 在Xcode中,应该使用外部较新的二进制文件来运行附加检查。

        2
  •  1
  •   Adam    13 年前

    Xcode构建文件的格式意味着您必须这样做:

    WARNING_CFLAGS = "-Xanalyzer -analyzer-check-llvm-conventions -analyzer-check-objc-missing-dealloc"
    

    注:围绕整个XAnalyzer短语的引号。