2012-02-03 4 views
1

メモリリークに関する多くの記事があります。今私はそれらを読んでいる。メモリリークの検出

しかし、おそらくいくつかのヒントは、どのコントローラを見つけるか、またはどのオブジェクトが漏れているかを見つけるためのヒントを与えることができます。今私は0xcvf34と

Leaked Object # Address Size Responsible Library Responsible Frame 
__NSCFString,1 0xcvf34 32 Bytes Foundation -[NSPlaceholderString initWithBytes:length:encoding:] 

されており、そこに私の戦略である可能性が何より

たくさんのresponsobleフレームワークのようなオブジェクト名では、スタック・トレース持っているので? NSStringが漏れているかどうかを見つけることは、たくさんのコードがあるので本当に難しいです。

リンゴの器具を使用しています。

+0

を1つの非常に重要なことがある:あなたが言及 'NSString'はおそらく*漏れ*ではなく、*漏れました*。あなたは、犯人(所有者)を見つけるために割り当てトレースを歩かなければなりません。 – jv42

答えて

3

行を選択し、それが属するクラスを示すサイドバーを調べます。

+0

それはそれが属するクラスのためにそれを言っていない。たぶん、私は今楽器に正しい設定をどうやって設定するのか? – Streetboy

+0

あなたを助けるかもしれないいくつかの他の根本原因を導く線をダブルクリックすることがあります。 – Vignesh

+0

それからアセンブラはコードを信じています。または使用できません – Streetboy

0

Foundationオブジェクトが漏れ始め、悲しいことに、ほとんど何もできないことがよくあります。

AppStoreであなたのアプリを承認したい場合は、コード自体から漏れを修正するというルールがあります。つまりResponsibleは「Foundation」ではなく「YourViewController」になります。財団のリークは、「あなたのものではなく、そのAppleの責任」を意味します。

この記事を見てみましょう、それはあなたにこのトピックのためのいくつかの方向性を与えることがあります。

http://www.raywenderlich.com/2696/how-to-debug-memory-leaks-with-xcode-and-instruments-tutorial

+1

* Foundationオブジェクトが漏れ始め、悲しいことに、ほとんど何もできません。* ??? a)私はそれが「非常に共通」であるとは思わない。私が現在取り組んでいるプロジェクトは、** 1つのリーク**です。 b)バグを報告する。 c)リークは、割当を行った画像を指し示すものであり、参照カウントの不均衡の原因となる図書館ではない。 – justin

+0

2番目の回答をご覧くださいhttp://stackoverflow.com/questions/3384537/nsxmlparser-memory-leak-on-ios-4-0-not-nscfstringそれは私が「Appleのせい」と「非常に共通」と言ったときのことです。あなたのプロジェクトに1つのリークがあるのは素晴らしいことですが、私のASIHTTPRequestに関連する2つはあります。とにかく、私のポイントは、リークを減らすためにAppleのライブラリのバグを回避する方法を見つけるのに時間を費やさないことです。 – codingcthulhu

+0

@codingcthuluはい、私はAppleが出荷しているソフトウェアが流出していることを知っています。私は何年もlibsを使ってきました。これらのバグは来て、彼らは行く。私の主張は、それは単に「非常に共通」ではないということでした。リンクしたバグは(自然に)非常に隔離されています。欠陥は完全になりますが、システムライブラリはapp-landの典型的なプログラムよりもきれいです。そして、それは漏れを真剣に受け止める誰かから来ている。 – justin

関連する問題