静的解析ツールClang
最近、開発中のアプリを使っているとよく落ちるようになったので、静的解析ツールを試してみました。さくっと入るかなと思ったのですが、思いがけず色々はまったのでまとめておきます。
インストールから実行まで
1. LLVM/Clang Static Analyzerから最新版(checker-0.202.tar.bz2)を取得します。
2. 適当な場所に置いてパスを通します。
mv checker-0.202 /usr/local/checker export PATH=$PATH:/usr/local/checker
3. 実行します。
cd iPhoneProjectDir scan-build --view xcodebuild
と、ここでエラーがいくつかでました。
arm-apple-darwin9-gcc-4.0.1
arm-apple-darwin9-gcc-4.0.1がないというエラーが出たのでリンク作成。
ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 /Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 scan-build --view xcodebuild
CodeSign error
次にCodeSign errorが出たのですが、解決方法が見つからず。
色々いじって下記のようにすると上手く実行できました。
プロジェクトの情報
- 全ての構成でコード著名を「Don't Code Sign」に変更
- クリーンして、アクティブターゲットを「Debug」に変更
プロジェクトの情報>一般
- すべての構成のベースSDKを「Simulator-iPhoneOS2.2.1」に変更
(Xcodeの左上のセレクトボックスで、Simulator XXX (プロジェクト設定)となっていればOK)
ゾンビプロセス
コンパイルが終了して、http://127.0.0.1:8181にアクセスすると結果が見れると表示されるも、サイトにアクセスできず。で、ps -ef | grep scan で残っていたプロセスを全てkillしてから再度実行すると無事に閲覧できました。