3

Xcode 3.2.4を使用しており、Clang Static Analyzer機能をセットアップして、バイナリの新しいビルドを使用しています。詳細については、http://clang-analyzer.llvm.org/xcode.htmlを参照してください。

(基本的に、set-xcode-analyzerコマンドラインユーティリティを使用して、Xcodeがビルドおよび分析に使用する静的アナライザーのコピーを変更します。)

私が理解できないのは、Xcode経由でバイナリを使用するときに-analyzer-check-objc-missing-deallocなどの追加のチェックを使用するようにそのバイナリを設定する方法です。詳細は次のとおりです。http://loufranco.com/blog/ files/scan-build-better-than-build-analyze.htmlおよびscan-build--help。

    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を介して使用する場合、どのようにして追加のオプションをバイナリに渡しますか?

4

2 に答える 2

7

さらに調査すると、これを行うための最良の方法は、 set-xcode-analyzerコマンドラインツールではなく、ターゲットビルド情報のいくつかのエントリを使用することであるように思われます。

次のように、バイナリの新しいビルドへのフルパスを含むユーザー定義設定CCを追加します(パスの最後に/ bin / clangがあることに注意してください)。

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

次に、[その他の警告フラグ]エントリに、次のように、必要な数の追加チェックを追加します。

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

それぞれの前に引数-Xanalyzerがあります。これは、次の引数をアナライザーに渡す必要があることを示します。

詳細については、MacOSX開発者ツールのマニュアルページを参照してください。

次に、 Xcodeでビルドと分析を行うときは、追加のチェックを実行する外部の新しいバイナリを使用する必要があります。

于 2010-07-21T22:37:33.497 に答える
1

受け入れられた回答は機能しなくなりました(Xcode 4)

Xcodeのビルドファイルの形式は、次のようにする必要があることを意味します。

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

注意:XAnalyzerフレーズ全体を囲む引用符。

于 2013-04-12T15:12:43.040 に答える