問題タブ [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.
ios4 - Xcode 4 Analyze がメモリ リークの状況を検出しない
iOS アプリに次のコードがあります。
このコードの問題[cameraUI release];
は、メソッドの最後に a が必要なことです。以前は、Xcode に組み込まれている静的コード アナライザーがこれらの見落としを見つけるのに役立ちましたが、現在の Xcode 4.0.2 インストールでは、この問題は見つかりません。Xcode を再起動しようとしましたが、Clean Build Folder ([プロジェクト] メニューをクリックしながらオプションを押したまま) を試しましたが、うまくいきませんでした。最新の Xcode のアナライザーに問題がありますか、それとも他に不足しているものがありますか?
ios4 - Xcode 4 静的コード分析の質問
これは、Xcode 4 静的アナライザーに関する以前の質問へのフォロー アップです。コードが必要に応じて機能するようになったので、特に問題はありませんが、舞台裏でどのように機能しているのか疑問に思っています。次のコードを検討してください。
私には、このコードの見た目から、リリースする必要がある 2 つのオブジェクト (cameraUI と theString) があります。ただし、analyze 関数は、両方のオブジェクトが alloc-init から返されたとしても、メソッドの最後で解放する必要があるのは theString のみであることを正しく識別します。
ここでの質問は、静的コード アナライザーが cameraUI を問題としてフラグ付けしないことをどのように認識しているのかということです。
objective-c - 何かが漏れていないときにClang静的アナライザーに明確にする方法は?
Clang静的アナライザーを使用してiOS用のObjective-Cコードを分析すると、多くの「潜在的なリーク」が発生します。リークの多くは、なぜそれがまったく間違っているのか疑問に思います。特に疑問に思った一例は次のとおりです。
NSDictionary
いくつかの設定を格納するために使用される、タイプのクラス変数があります。辞書内で何かを変更する方法がある場合:
Clangは、のインライン割り当てと直接関連付けでエラーが発生しPaxCompartimentOutputField
ます。このコードを機器で実行する場合、リークは発生しません。
これを解決するために私が思いつくことができる2つの方法は次のとおりです。
- 使用する
autorelease
- インライン割り当てを次のコードに置き換えます。
(コード)
最初のオプションは廃止されたimhoです(特にiOSではその使用はお勧めしません)2番目のオプションはかなりかさばります-特により多くのオブジェクトで配列を作成する場合(たとえば、デフォルト設定をロードする10個のオブジェクト)。
Clangの警告は、バグやリークを見つけるための優れたツールであるため、無視したくありません。これらの場合、Objective-Cでこれを行うための「正しい」方法は何ですか?
objective-c - 静的アナライザーが式を「常に 0」であると誤って検出する
次のように宣言されたプロパティ noteName があります。
次のように定義されます。
しかし、使用しようとすると、静的アナライザーの動作がおかしくなりました。
そのメソッド呼び出しでの値をログに記録し、[self noteName]
多くの意味のあるゼロ以外の値を見つけました。さらに、このコードのメソッドは意図したとおりに機能します。
c++ - コンパイラとしてg++を使用している場合、clang静的アナライザでc ++ファイルをスキャンするにはどうすればよいですか?
g++を使用してC++プロジェクトをコンパイルします。clang static Analyzer(scan-build)を使用してコードをチェックしようとすると、エラーが発生します。
g ++でスキャンビルドツールを使用するにはどうすればよいですか?
cocoa - Xcode 4.2 でディクショナリのディープ コピーにより Analyze エラーが発生する
NSDictionary カテゴリに次のメソッドがあり、ディープ コピーを実行すると正常に動作します。
Xcode 4.1 から 4.2 にアップグレードしたところ、次のように Analyze 関数がこのコードに対して 2 つのアナライザー警告を表示します。
これらのバグは Xcode のアナライザーにありますか? それとも、これらの警告を回避するためにできる変更はありますか?
私はまだ ARC を使用していませんが、この方法で ARC をサポートするために必要な追加の変更があるかどうかに興味があります。
xcode - Clang scan-build は Xcode 4.2 LLVM 3.0 ビルド構成では機能しません
iOS 5 用にコンパイルできるように、Xcode 4.2 の最終バージョンをインストールしました。
CI に Jenkins を使用し、llvm.org プロジェクト ページから Clang scan-build を実行します。(バージョン 258) プロジェクトは LLVM 3.0 (Xcode 4.2 以降のデフォルト) を使用するように構成されています。scan-build を実行しようとするたびに、次のエラーが発生します。
Xcode 自己の静的コード分析を使用すると、問題なく動作する次の出力が得られます。
LLVM 3.0 の使用を無効にせずに scan-build を再度実行するために何ができるか考えている人はいますか?!
ios - 奇妙なXcode分析結果
Xcodeでプロジェクトを分析すると、いくつかの奇妙なエラーが発生します。このコードはすべて、を作成するために使用できる配列を作成する単一のメソッドの一部ですMKAnnotations
。これがコードの氾濫である場合は申し訳ありませんが、無関係な部分をコメントアウトするために最善を尽くしました。いくつかの観点から、スニペットに加えてメソッド全体を含めました。ありがとうございました!
初め:
Xcodeがそのようなシェナニガンで私をどのように非難するのですか?
2番:
第3:
第4:
ただし、その配列を初期化したばかりですか?とがゼロの長さで初期化された場合annotationLats
、初期化されない可能性があることを理解しています。annotationLongs
これらの警告は重要ですか?これらの警告なしにプログラムが期待どおりに実行された場合、それらを安全に無視できますか?Xcodeを無視するのは良い考えではないように感じます—それはかなりインテリジェントです。
iphone - 静的アナライザーが間違ったリークを示していますか?(XCode 4.0、iOS 4.3以降)
みなさん、11月おめでとうございます。
さて、私は自分のプロジェクトでXcode Buildと分析を試しましたが、いくつかの異常なリークが見られましたが、ObjectiveCの知識では完全には受け入れられませんでした。
そこで、テストプロジェクトを立ち上げて、ここで質問することにしました。
MemoryTestController.h
MemoryTestController.m
ビルドして分析しようとすると、clangstaticanalyzerは言います
行xxでのオブジェクトの潜在的なリーク
そして犯人のラインは
割り当て/保持するたびに1回リリースすると思います。私は何かが足りないのですか、それとも静的アナライザーにいくつかのバグがありますか?
編集:そこに漏れはありますか?
さて、私は楽器のリークツールを使用して上記のプロジェクトを実行しました..何度も試してもリークは表示されませんでした..誰を信じるべきですか?静的分析器またはリーク機器?