問題タブ [instruments]
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.
xcode - Xcode 3.2.1 と Instruments: 役に立たないスタック トレース
メモリ リークの追跡を開始する段階に達しましたが、残念なことに、Instruments は (確実にリークがあるという事実を除いて) 先に進むことがほとんどありません。私のスタック トレースには、メモリ アドレス以外の情報は含まれていません。
私は新しいプロジェクトに取り組んでおり、並行して Xcode のバージョン 3.2.1 に移行したため、問題の原因がプログラムの構成なのか Xcode なのかわかりません。dyld
3.2.1 リリースで流行していると思われるリークに関する投稿と結び付けられた問題への参照を 1 つ見つけました。
この問題についてはあまり見つけることができなかったので、Xcode の体系的な問題ではなく、私が作成したものだと思います。誰かが私が作業中にレンチを投げたかもしれないという考えを持っているなら、私はいくつかのポインタが大好きです. また、スタック トレースが実際に 3.2.1 で適切に機能していることを誰かが確認できれば、それも役に立ちます。
iphone - iPhone Instruments Leaks は私を混乱させます。UIView のフェード アウト アニメーションが多くの小さなリークを引き起こす
iPhone 3.0 アプリケーションのすべてのメモリ リークを解消しようとしています。CLANG はすべてのライトが緑色でビルドされるので、Instruments で分析しています。
これは、アプリを数分間使用しただけで数百の 16 バイト リークが発生していることを示しているため、言うのは簡単です。主に UIKit にあるようで、共通部分はスタック トレースの最後で必ず呼び出されることです。[NSObject respondsToSelector]
これは私が無視できるものですか、それともこれらすべてのリークの理由は何ですか? II はそれらを無視できます。Instruments でそれらを除外する方法があるので、実際のリークを検出できますか?
*編集問題の原因となったコードの一部を見つけることができましたが、その理由はまだわかりません。非同期httpリクエスト中に表示されるテキストとスピナーを含むカスタムUIViewがあります。リクエストが完了したら、ビューでこのメソッドを呼び出します。
代わりに単純に行う場合
[self removeFromSuperView]
アルファ アニメーションがなければ、リークは報告されていません。
楽器の詳細については、以下のスクリーンショットを参照してください。
スタック トレースの例:
そしてもう一つ:
objective-c - コード行によりインストゥルメントでクラッシュが発生するが、Xcode では発生しない
これにより、Xcode ではなくインストゥルメントで実行するとクラッシュが発生します。問題を絞り込みました。このコード行がループしているときに発生します... NSMutableArray *blocks = [self getBlocksForX: thePoint.x]; このメソッドは NSMutableArray を返します。ループが実行されるたびにそれをブロックに格納し、ループの最後でそれを解放します。計測器がクラッシュする原因は何ですか?
iphone - iPhone用Core Data Instruments
Core Data の使用状況を監視しようとしていますが、Instruments ですべての Core Data インストゥルメントがグレー表示されています。また、Xcode の「Run with Performance Tool」からも利用できません。Core Data インストゥルメントは Mac 用であり、iPhone では利用できないと書かれていますが、人々がそれを使用することについて話しているのを聞いたことがあり、Apple のドキュメントにも記載されています。
どうすればそれらを機能させることができますか?
ありがとう!
iphone - アプリをコンパイルしたくない人のための楽器に相当するものはありますか?
毎回アプリをコンパイルしたくない楽器でテストしたいのですが、毎回コンパイルせずにこの利点を利用する他のプログラムや方法はありますか?
iphone - NSMutableArray とプロパティ リーク メモリ
最新のアプリでメモリ リークのクリーンアップ モードを使用していますが、解決できない問題に遭遇しました。
次のメソッドは、1 つの厄介な問題を除いてクリーンアップされました。Instruments は、オブジェクトを作成している時点で、itemsToKeep と呼ばれる NSMutableArray がメモリをリークしていることを教えてくれます。私がメモリをリークしている理由についてのアイデアをいただければ幸いです。
以下に、retainCounts に関するいくつかの注意事項を示します。メソッドに入る: self.myList は、retainCount = 1 であり、メソッドを終了する: self.myList は、retainCount = 2 で、itemsToKeep は、retainCount= 2 です。どちらも 1 までカウントダウンしますが、しばらくするとアプリがクラッシュします (その理由はわかっていると思います)。
itemsToKeepのメモリリークを取り除く方法を知っている人はいますか?
ありがとう。
}
iphone - iPhone上のアプリのメモリフットプリント
最近、メモリ不足の例外が原因でアプリがアプリストアから拒否されました。アプリはメモリをリークしませんが、そのベースメモリフットプリントが高すぎるようです。Appleから送信されたクラッシュログによると、メモリ内で約14000ページを使用していました(主に巨大なテクスチャが原因です)。しかし、2つの奇妙なことがありました:
- 送信する前に5つのデバイスで厳密にテストしましたが、いずれのデバイスでもこのクラッシュは発生しませんでした。
- 拒否後にテクスチャを最適化し、元のサイズの約半分にしました(テクスチャメモリ消費量)。
Appleと同じクラッシュを再現できない限り、アプリが現在何ページを使用しているかを知る方法はありません(これは不可能でした)。アプリのメモリフットプリントを確認して、アプリが十分に最適化されていることを確認できる別の方法はありますか。
インストゥルメントを試しましたが、XCodeを実行しようとするとアプリがクラッシュします(XCodeに問題があるはずです)。しかし、iPhone/iPodで直接実行すると完全に機能します。iPhoneで私のアプリのメモリフットプリントを見つけるのに役立つものがあれば(Windowsのタスクマネージャーに類似したものがある場合)、いただければ幸いです。
ありがとう
編集:
XCodeからアプリを起動すると、コンソールに次のエラーが表示されます。「リモートプログラムの起動中にエラーが発生しました:プロセス553のタスクを取得できませんでした。」
Activity Monitorを使用してアプリを起動すると、次のエラーが発生します:「ターゲットが終了するのが早すぎてデータを収集できません」
EDIT2:
配布プロファイルの代わりに開発プロファイルを使用することで、ActivityMonitorでアプリを実行できました。しかし、現在、Activity Monitorにはいくつかのセクションがあります-使用される物理メモリ、実メモリ、仮想メモリ。これらのどれを私は考えますか。要約すると、これらのどれがiPhoneに低メモリ例外をスローさせるのかを知る必要があります。
ios - iPhoneのメモリ管理の問題
whileループのあるメソッドを呼び出すスレッドを切り離します。としてマークを付けてもautoreleasepool
、whileループはしばらく続く可能性があるため、オブジェクトを手動で解放します。
問題は、しばらくすると、メモリの問題が原因でアプリがクラッシュすることです。Instrumentsを見ると、NSStringの巨大な山が割り当てられており、グラフに天国への階段が作成されていることがわかります。何をリリースできませんでしたか?
iphone - 複数回の読み込み後にメモリ リークが発生する
ここで、少なくとも私にとっては奇妙なケースがあります。Web から XML ファイルをロードし、それを解析して、データを辞書の配列に書き込む比較的単純なプログラムがあります。各ディクショナリは、テーブル内の行を表します。プログラムは正常に動作し、シミュレーターを計測器に接続してリストをロードすると、メモリ リークは発生しません。
ここで奇妙な部分があります。ユーザーがリストをリロードするためのボタンがあります。それを押すと、以前のデータがクリアされ、XML が新しくダウンロードされて解析されます。このボタンを押しても、まだメモリ リークが見つかりません。しかし、それを 2 回押すと、突然漏れがあちこちに発生します。私は非常に困惑しています。なぜ、以前は何もなかったリークが突然発生するのでしょうか (リークは、同じコードが 2 回実行された場合にのみ表示されます)。たとえば、Apple のサンプル XMLParser の一部を使用しているため、特に奇妙です。私のコードは、Apple のコードの 1:1 コピーですが、パーサーを 2 回実行すると、インストルメントはこのコードのリークを報告します。
私は助けてくれてうれしいです、私はこれについてどうやって手に入れるかほとんど知りません。コードは問題ないはずです。私はすでに「ビルドと分析」を試しましたが、インストゥルメントでは見られないことも明らかになりません。
ごきげんよう、ロビン
iphone - Instruments ObjectAlloc:ライブバイトと全体のバイトの説明
私はInstumentのObjectAllocツールを使用して、アプリケーション(iPhone)が実行しているメモリと、それを実行している時間と場所を理解しようとしています。
これらの統計の基本的な説明が本当に必要です。
- ライブバイト
- #生活
- #Transitory
- 全体のバイト数
アプリケーションが使用しているメモリの量を計算しようとしているとき、ライブバイトまたは全体のバイトを確認しますか?これには、リークされたメモリが含まれますか?一時的なオブジェクトとは何ですか?
ありがとう