私はthis approachに続いて、iOSアプリケーションでValgrindを実行しました。残念ながら、iOS SDKに関連する警告は、私のアプリに関連する警告を見つけることをほとんど不可能にしています。 ValgrindのiOS抑止リストがありますので、自分で生成する必要はありませんか?iOS SDKからValgrindの警告を抑制する
答えて
main()
のコードを修正してValgrindに適切なオプションを渡すことができるようです。 (これは、あなたがmemcheckを実行していることを前提としています。これはデフォルトのオプションで、あなたがペーストビンから実行しているように見えます)。
Valgrind/Memcheckは、Obj-C/iOS SDKを含む既存のライブラリでエラーを報告することが予想されます。エラーを報告からMemcheckを抑制するためには、これを使用する:
これは自動的に抑止を生成します。--gen-suppressions=yes
することもできます/深さにもう少し行くと、あなたがしたくない内容をカスタマイズしたい場合があります参照:
が抑制ファイルを追加を考慮すべき: --suppressions=/path/to/file.supp.
抑制型(第2)のラインの寿LDの形式は:
Value1, Value2, Value4, Value8, Value16
を、1、2、4、8または16バイトの値を使用する場合に初期化されていない値の誤差を意味する:以下のように
Memcheck:suppression_type
Memcheck抑制タイプがあります。
Cond (or its old name, Value0)
は、初期化されていないCPU条件コードの使用を意味します。
Addr1, Addr2, Addr4, Addr8, Addr16
(1,2,4,8または16バイトそれぞれのメモリアクセス中に無効なアドレスを意味します)。
Jump
です。これは、アドレスできない場所のエラーへのジャンプを意味します。
Param
(無効なシステムコールパラメータエラーを意味します)。
Free
、無効または不一致のフリーを意味します。
Overlap
は、memcpyまたは同様の機能でsrc/dstの重複を意味します。、つまりメモリリークを意味します。
詳細については、suppressing errors in the Valgrind docsもチェックしてください。 あなたは複数の抑制ファイルを持つことができますので、いつでも後で削除することができます。
ただし、これらのエラーが表示されている理由で見たいと思うかもしれません。 SDKの多くは無視したいかもしれませんが、可能であればトラックの原点をオンにして、ちょうどあなた自身のコードをチェックした後である可能性があります。
初期化されていない値エラーは、初期化されていない値(duh)について警告されているところです。ただし、初期化されていない値が他にもあるので、違いを出す初期化されていない値がある場合にのみこれを行います。
通常、これらは、使用しないで使用するまで伝播することができます。これらの値は、実際に使用しようとするたびに報告されます。
--track-origins=<yes|no>
(デフォルトは「いいえ」)をオンにすると、どこから来たのかを知ることができ、SDKのように見えます。知らない人にとっては、--track-origins
は本当に非常に役に立ちます。なぜなら、オフになっていると、初期化されていない値が「危険な」方法で使用されていることが分かりますが、初期化されていない値がどこから来たのか分かりません。
--undef-value-errors=no
も使用されている場合、Memcheckはこれをyesに設定することを拒否します。
- 1. rsOverlappingReportItemsの警告を抑制する
- 2. SASの警告文を抑制する
- 3. Microsoft Fakeの警告を抑制する
- 4. ネイティブアンドロイドセッションタイムアウト警告を抑制する
- 5. iOS SDK NSXMLParserDelegate警告
- 6. ライブラリヘッダーからのGCC警告を抑制する方法は?
- 7. キャスト()からの警告メッセージを抑制する方法
- 8. gcc:抑制する[デフォルトで有効] C++コードからの警告
- 9. ビジュアルスタジオでのtlbimp警告の抑制
- 10. ASP.NET/VB.NETでのコンパイラ警告の抑制
- 11. 抑制コンパイラの警告機能は
- 12. GTK +からのValgrindエラーを抑制する
- 13. DBIからの任意の警告/エラーメッセージを抑制する方法は?
- 14. SuppressMessageAttribute;クラス内のすべての警告を抑制する
- 15. manage.py dumpdataの警告出力を抑制しますか?
- 16. ヘッダからインクルードされたファイルの警告を抑制する方法
- 17. vim-latexの警告を抑制する方法は?
- 18. Apache Tomcat stdoutの警告を抑制する
- 19. 未使用出力列のSSIS警告を抑制する
- 20. vb.netのファクトリメソッドで廃止された警告を抑制する
- 21. TYPO3:廃止予定の警告を抑制する方法?
- 22. IDEA:スペルミスの警告を抑制する方法は?
- 23. gccを抑制する4.2.1プラグマによる警告
- 24. valgrindとiOS SDK 4.2?
- 25. Visual StudioでJSLint警告を抑制する方法2015
- 26. 抑制のAndroidManifest.xml minSdkVersionが関連する警告
- 27. ServiceReference .csファイルのXml警告を抑制します。
- 28. valgrindの複数のタイプの抑制
- 29. スタティックコード解析の抑制TryParse呼び出しの警告CA1806
- 30. @dynamicなしで@property警告を抑制する方法はありますか?
+1、今日新しいことを学びました – doNotCheckMyBlog
あなたは抑制したいmain.mの特別な警告はありますか? – CodaFi
@CodaFi「条件付きジャンプまたは移動は、初期化されていない値に依存しています」ということは、私が間違っていないとSDKからすべてのものが出てきたと思われる場合です。抽出物については、http://pastebin.com/fVHnhNh6を参照してください。 – marcog