バージョン252チェッカーバイナリを使用してコードを実行すると、分析エラーは発生しません。ただし、最新の253チェッカーを使用するように変更すると、多数のエラーが返されますが、これらはすべて意味がありません。たとえば、scan-buildスクリプトが完了した後にSafariブラウザに表示されるエラーの画像を次に示します。
これは、エラーリストに表示されるかなり一般的なエラーです。ご覧のとおり、メソッド名の最後にCopyがありますが、それでも誤った名前として報告されています。
チェッカーバージョン253で発生しているエラーの内訳は次のとおりです。
Bug Summary
Results in this analysis run are based on analyzer build checker-253.
Bug Type Quantity
All Bugs 83
Dead code
Unreachable code 17
Memory (Core Foundation/Objective-C)
Bad release 19
Leak of returned object 23
Object sent -autorelease too many times 24
自動解放エラーは、アナライザーがCopyメソッドが実際に正しく名前が付けられていることを認識できないという事実に関連しているようで、到達不能コードの例を探しようとしましたが、それらのパターンや説明を実際に見つけることができませんでしたエラーは、単純なifステートメント内のすべてのコード行であったためです。次に例を示します。
これは、チェッカーの最新バージョンで導入されたバグであり、エラーとして表示される可能性があると思います。ここで見逃している可能性のある他の何か(ある種のビルド設定またはscan-buildスクリプトの問題)はありますか?