問題タブ [clang-static-analyzer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Clang の静的アナライザーをトリガーするサンプル コード
Clang の静的アナライザーがエラーを出す原因となる、小さくても完全なコード スニペットを見たいと思います。私の動機は主に、自分の PIC32 コードで動作させようとすることであり、「すべてのコードに問題がない」ことと「実際には何もしていない」ことを区別する方法が必要です。私自身は単純な例を思いつくことができないように見えるので、これは好奇心でもあります。
C89/ANSI または C99 で問題ありません。理想的には、単純なメモリ リークが検出されるようにしたいと考えています。私の使い方は
iphone - Xcode 3.2.4 アナライザーはこのファイルをスキップしましたか?
iOS 4.1 (Xcode 3.2.4) にアップグレードしたばかりですが、静的アナライザーを使用すると、3.2.3 を使用したときに以前は発生していなかったと思われる警告が表示されます。
これで、プロジェクトは問題なくコンパイルされます。これは変更されたものですか、それとも設定が間違っていますか?
注意: ビルド結果ウィンドウを「すべてのメッセージ」に設定しています。
編集:
これに関連する可能性があると思います:
とても有難い
ゲイリー
c# - C、C#、C++、および Java 用の C# コード アナライザー。
ソース コードを解析してプロジェクト (C、C#、C++、または Java) のすべてのクラスと関数の依存関係を列挙し、ドキュメント、XML、またはその他の形式で保存するツールはありますか? ありがとうございました。
xcode - Core Data が Analyzer の警告を生成する
アプリの最終的な修正を行っており、すべてのコンパイラ/アナライザーの警告を取り除いています。
Core Data エンティティへのアプリ アクセスをラップするクラス メソッドが多数あります。これはアナライザーを「挑発」しています。
これにより、Analyzer の警告が表示されます。
+1 (所有) 保持カウントが予期される呼び出し元に返される +0 保持カウントを持つオブジェクト
上記のクラスメソッドを呼び出すメソッドには、次のものがあります。
これにより、Analyzer の警告が表示されます。
メソッドは、+1 保持カウント (所有参照) を持つ Objective-C オブジェクトを返します。
コア データ エンティティを明示的に解放または自動解放することは通常非常に悪いことですが、それは私に求められていることですか? 最初に、保持カウントが +0 であり、これは悪いことであることがわかります。次に、+1 であることも悪いことであることがわかります。
Analyzer の問題に対処していること、または正しくリリースしていることを確認するにはどうすればよいですか?
前もって感謝します
iphone - 最新バージョンでエラーを表示するiPhoneアプリのClang静的アナライザー
バージョン252チェッカーバイナリを使用してコードを実行すると、分析エラーは発生しません。ただし、最新の253チェッカーを使用するように変更すると、多数のエラーが返されますが、これらはすべて意味がありません。たとえば、scan-buildスクリプトが完了した後にSafariブラウザに表示されるエラーの画像を次に示します。
これは、エラーリストに表示されるかなり一般的なエラーです。ご覧のとおり、メソッド名の最後にCopyがありますが、それでも誤った名前として報告されています。
チェッカーバージョン253で発生しているエラーの内訳は次のとおりです。
自動解放エラーは、アナライザーがCopyメソッドが実際に正しく名前が付けられていることを認識できないという事実に関連しているようで、到達不能コードの例を探しようとしましたが、それらのパターンや説明を実際に見つけることができませんでしたエラーは、単純なifステートメント内のすべてのコード行であったためです。次に例を示します。
これは、チェッカーの最新バージョンで導入されたバグであり、エラーとして表示される可能性があると思います。ここで見逃している可能性のある他の何か(ある種のビルド設定またはscan-buildスクリプトの問題)はありますか?
iphone - スタティックアナライザーは私に漏れがあると言います....なぜですか?
このコードは問題ないはずですが、StaticAnalyzerはそれを好みません。理由がわからず、誰かに理解してもらえるといいなと思っていました。コードは正常に機能し、アナライザーの結果は私を悩ませます。
Coin
はジェネリックNSObject
であり、初期化メソッドがあります。myCoin
は現在のビューのプロパティであり、タイプはCoin
です。私はそれが私が漏れていると私に言っていると思いますtempCoin
。
私の見解の.hでは、myCoinをnonatomic、retainを持つプロパティとして設定しました。
この通常のリリースと同様にコードを自動リリースしようとしましたが、Static Analyzerは次のように言い続けます:
1。メソッドは+1の保持カウント(所有参照)を持つObjective-Cオブジェクトを返します
2.行97に割り当てられたオブジェクトはもうありませんこの時点以降に参照され、保持カウントが+1(オブジェクトがリークされた)
行97は、私が最初に表示する行です。
cocoa - 参照を所有するサードパーティライブラリについてClangStaticAnalyzerに通知する
ガベージコレクションされたスクリプト環境を実装するCライブラリを使用するObjective-Cプロジェクトを維持しています。場合によっては、保持されているObjective-Cオブジェクトをスクリプトオブジェクトのプライベートフィールドに配置する必要があります。次に、Objective-Cオブジェクトがfinalizeコールバックで解放されます。
プライベート値を設定するための呼び出しは、うまくいけば明白なセマンティクスで、次のようになります。
ファイナライズコールバックはこれを行います:
Clang Static Analyzerは、finalizeコールバックでのランダムリリースに異議を唱えませんが、値が最初に設定されている場合、「行Nに割り当てられたオブジェクトのリークの可能性」と表示されます。</ p>
このメッセージを抑制する注釈または醜くないパターンはありますか?(私は、のようなばかげたことをしたくありません。また[object performSelector:@selector(retain)]
、ヘッダー宣言を台無しにしたくないのJS_SetPrivate
です。また、与えられた値JS_SetPrivate
は任意のポインターであり、必ずしもObjective-Cオブジェクトではないことに注意してください。
ios - XcodeStaticAnalyzerの表示の難しさ
私はXcodeの静的アナライザーを使用してプロジェクトの潜在的なリークを見つけていますが、それは完全に正常に機能しています。ただし、オブジェクトを解放した後でも、アナライザーが潜在的なリークを示している場合があります。この結果を理解するのは難しいと感じています。
iphone - Any good tutorials on the Build and Analyze feature in Xcode?
I would like to know is there any tutorial to use xcode build and anylyse tool...
pls provide me links which points on it.
Thanks for any help
c - Clang ユーザー ドキュメント
ここで質問するか、スーパーユーザーで質問するか迷ったのですが、こちらのサイトの方が適切でした。
これら2つの分野に特化したClangのドキュメント/分析を探しています:
- Clang と GCC によって提供される警告の比較
- GCC http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.htmlと比較してClangが行っているチェックの量を具体的に探しています
- フラグの説明、
--analyze
それは正確に何をチェックしますか?