問題タブ [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.
iphone - Clang を使用せずにメモリ リークを特定する
Apple の TopSongs アプリで自分でリークを見つけられるかどうかを確認しようとしています。誰かが私を少なくとも 1 人助けてくれませんか?また、リーク レポートの内容を特定する方法と、それらを見つける方法を知る方法を教えてください。
すなわち:私はこのようなものを手に入れました:
私が知る限り、メソッド xmlNewParserCtxt が問題であり、オブジェクトを解放していないため、Malloc です。責任のあるライブラリは、libxml2.2.dylib ライブラリに問題があり、編集できないことを教えてくれます。
私は正しい方向に向かっていますか?もしそうなら、リークの半分はそのライブラリにあり、それを編集することはできません.
'
アップデート:
この質問への回答をご覧ください。
objective-c - CLangエラー(Objective C):初期化中に保存された値が読み取られることはありません
これが私がObjectiveCでプログラムするように教えられた方法ですが、CLangエラーチェッカーは初期値が読み取られなかったと文句を言います。ただし、oFooはプロパティを持つオブジェクトです。oFoo自体には単一の値はありません。プロパティ値は重要です。
これを無視する必要がありますか?これは修正する価値がありますか?「初期値」が私のコンテキストでは無意味であることを見て、修正は何ですか?
xcode - Xcode 3.2:Build&Analyzeで問題が検出されることはありません
以前、コマンドラインからClangStaticAnalyzerを使用しました。Build&Analyzeを介してXcodeの組み込みバージョンを試してみたかったのです。非常に明白な問題でコードを特別に準備したにもかかわらず、否定的な結果が得られることはありません。Clangは常に次のことを指摘できました。
結果は常に同じです。緑色のチェックボックス、問題はありません。C++コードが問題を引き起こす可能性があることを読みました。私はこれをbox2dを含むcocos2dで実行しています。これが原因でしょうか?誰かがcocos2dエンジンを使ってBuild&Analyzeから結果を得ましたか?他に何ができるでしょうか?
また、静的アナライザーのビルド設定を有効にしてからビルドを有効にしてみましたが、結果は同じでした。Xcodeを再起動し、すべてのターゲットをクリーンアップし、Xcodeキャッシュを空にして無駄にしました。
更新:私の問題は、私のプロジェクトへのクロスプロジェクト参照としてcocos2dを追加したことが原因である可能性があります。cocos2dプロジェクト自体を個別に分析すると、いくつかのアナライザーの結果が明らかになります。
さらに、RELEASEビルド構成からはAnalyzerの結果が得られますが、DEBUGビルドからは得られないことがわかりました。
objective-c - Xcodeの「ビルドと分析」がリークとしてキャッチする範囲は、これだけ限定されているのでしょうか?
これは気にしません:
コードパスが戻り値を解放せずにその関数を呼び出すことができるかどうかを確認するのに十分賢いと思いました(通常、この方法でコーディングすることはありません。アナライザーをテストしているだけです)。
これをリークとして報告します。
しかし、これではありません:
これは私には特に弱いようです。ローカルスコープ内でのみ分析しますか? ツールがこのようなことを検出できない場合、私が犯す可能性のある実際の間違いを検出することをどのように期待できますか?
objective-c - このclang警告を修正するにはどうすればよいですか:「+ 0の保持カウントを持つオブジェクトが、+ 1(所有)の保持カウントが期待される呼び出し元に返されます」?
次のようなObjective-Cコードがあります。
コードは、次のような初期化子から呼び出されます。
clang static Analyzerを実行すると、path
変数に対して次の警告が表示されます。
41行目に割り当てられ、「パス」に格納されたオブジェクトの潜在的なリーク
+0の保持カウントを持つオブジェクトは、+ 1(所有)の保持カウントが期待される呼び出し元に返されます
よくわかりません。私の理解ではstringByAppendingPathComponent
、自動解放された文字列を返す必要があるため、正味保持カウントは0である必要があります(明らかに、保持したくありません)。
私はcopyData:
以下を返すように変更しようとしましたが、警告を取り除くことができませんでした:
では、この警告はどうなるのでしょうか。
iphone - コンビニエンスメソッドとNSClassFromString(...)alloc/releaseでLLVM/Clangのバグが見つかりました
LLVM/Clang静的アナライザーを使用してObjective-CiPhoneプロジェクトを分析しています。報告されたバグは2つありますが、コードは正しいと確信しています。
1)便利な方法。
2)[NSClassFromString(...)alloc]はretainCount + 1を返します。私は正しいですか?
これらはいくつかのClangの問題ですか、それとも私はこれらの両方のケースで完全に間違っていますか?
objective-c - XCode/Static Analyzer:保持カウント/リーク警告の抑制
変数を作成しているが、割り当てを解除していない関数があります。このオブジェクトをメッセージとともに、メモリ管理を扱う別の関数に渡します。
私の質問は、XCode が過度に保持された変数であると考える静的アナライザーの警告を抑制するにはどうすればよいですか? それを作成している関数に NS_RETURNS_RETAINED を使用できると思ったのですが、うまくいきません。変数がメッセージを介して渡されるという事実と関係があるのだろうか?
iphone - メモリ分析がわからない
iPhone プロジェクトで iOS4 をサポートするために、XCode をバージョン 3.2.3 にアップグレードしました。静的アナライザーを使用して、メモリ管理の問題をチェックしました。
私のルーチンの 1 つで、次の問題が発生します。イベントをカレンダーに追加してステータスを表示した後、ユーザー アラートを生成します。
これは正常に実行されますが、メモリ アナライザーはアラートの定義方法を気に入りません。コーディングの問題がわかりませんね。(メモリアナライザーのヒントを「<<<<」で示しました)
ありがとう
xcode - 外部のXcodeClangStatic Analyzerバイナリを使用し、追加のチェックを行います
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。
Xcodeを介して使用する場合、どのようにして追加のオプションをバイナリに渡しますか?