問題タブ [xcode-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.

0 投票する
2 に答える
1623 参照

iphone - xcode を使用してサードパーティ アプリを計測/プロファイリングする

Xcode Instruments を使用してサードパーティ アプリをプロファイリングすることはできますか? 現在、デバイスにインストールされているサードパーティのアプリをプロファイリングしようとすると、エラーが発生しました

「ターゲットを実行できませんでした: リモート例外が発生しました: pid のタスクを取得できませんでした」

構成する必要がある設定はありますか?

0 投票する
1 に答える
556 参照

ios-ui-automation - Instruments の python/shell で performTaskWithPathArgumentsTimeout を使用して txt ファイルに書き込むことができない

performTaskWithPathArgumentsTimeout を使用して python/shell スクリプト (txt ファイルに書き込む) を実行しようとすると、機能しません。私はInstrumentsを介してUIAutomationで使用しています。結果コードとエラーも「0」です。したがって、正確な問題を見つけることはできません。

コード:

結果の出力は次のとおりです: 終了コード: 0 std 出力: エラー出力:

ターミナルで同じことを実行すると、テキスト ファイルが作成されて書き込まれますが、Instruments で JavaScript を介して実行すると機能しません。

0 投票する
2 に答える
461 参照

ios - メモリの問題 - リビング vs. 全体 -> アプリが強制終了

Instruments でアプリケーションのメモリの問題を確認しようとしています。アプリケーションをロードすると、いくつかのサウンドが再生され、UIImageViews でいくつかのアニメーションが表示されます。メモリを節約するために、必要なときだけサウンドをロードし、再生を停止するとメモリから解放します。

問題 1:

私のアプリケーションは約 5.5MB の Living メモリを使用しています。しかし、全体のセクションは開始後 20MB まで成長し、その後ゆっくりと成長しています (約 100kB/秒)。しかし、責任のあるライブラリは、OpenAL (OAL::Buffer)、dyld (_dyld_start) です。これが実際に何であるかはわかりません。また、ft_mem_qrealloc、CGFontStrikeSetValue などの他のものもあります。

問題 2:

全体のセクションが約 30MB 壊れると、アプリケーションがクラッシュします (強制終了されます)。全体的なメモリについて既に読んだ事実によると、それは私のすべての割り当てと解放が約30MBであることを意味します。しかし、私は本当に問題がわかりません。たとえば、サウンドが必要なときはメモリにロードし、不要になったらリリースします。ただし、1MB のサウンドをロードすると、この操作によって全体的なメモリ使用量が 2MB 増加します。私は正しいですか?そして、10個のサウンドをロードすると、アプリがクラッシュするという理由だけで、全体的に高すぎて、生活がまだ低いという事実がありますか??? 私はそれについて非常に混乱しています。

誰かがそれを片付けるのを手伝ってくれませんか?

(私は iOS 5 で ARC を使用しています)

いくつかのコード:

サウンドの作成 OpenAL:

遊ぶ:

AVAudioPlayer でサウンドを作成する:

停止して解放します。

そして画像アニメーション:私は大きなPNGファイルから画像をロードします(これは私の他のトピックにも当てはまります:https://stackoverflow.com/questions/12223714/memory-warning-uiimageview-and-its-animations)アニメーション配列を設定してアニメーションを再生しています...

この配列は、次のように単純に使用します。

0 投票する
1 に答える
617 参照

xcode - Core Data Saves インストゥルメントの「保存期間」の単位は何ですか?

XCode Instruments アプリケーションには、Core Data Saves インストゥルメントがあります。各コア データの保存の「保存期間」を表示できます。保存期間に使用されている単位は? 人間が知覚できる遅延時間はなく、67 から 6343 の範囲の測定値が表示されます。

これはマイクロ秒をカウントしていますか、プロセッサ サイクルに関連するものですか、それとも計測器のサンプル時間の倍数ですか?

0 投票する
1 に答える
1077 参照

macos - XCode Instruments によって報告された割り当てよりも大きい実メモリ/常駐メモリ

私は少し迷っています。最初のステップで大量のデータをロードし、これらをデータベースに入れる小さなアプリを作成しています。

データベースのすべてのエントリに対して、うまくいけばアークから解放される新しいオブジェクトを作成します:-)。

インストルメント ツールは、私のアプリが実際に 5 ~ 6 MB の割り当てを行っていることを示しています。しかし、アクティビティ モニターでは、実際には 100 MB の「物理」(リアル) メモリを使用していると表示されます。

どうすれば 100 mb を減らすことができますか? あなたが見ているメモリ リークはわずか 100 kb ですが、それは理由ではありません!?

楽器は5.67Mbの「ライブ」を示しています

楽器

アクティビティ モニターに 98Mb の実メモリが表示される

アクティビティモニター

0 投票する
0 に答える
665 参照

objective-c - 突然の応募終了

アプリケーションがエラーなしで終了しています。私はコードをデバッグし、すべてが整っています。インストルメントで、突然の終了は「不正なファイル システム アクセス」が原因であることがわかりました。

また、

この不正なファイル システム アクセスを削除する方法。

0 投票する
0 に答える
234 参照

ios - UIAutomationがプラグインの読み込みに失敗しました

ビルドプロセスが終了したときにターゲットの1つがUIAutomationを起動するようにプロジェクトを設定しています。InstrumentsはPythonスクリプトから起動され、最終的にはbashで通常の「xcruninstruments...」コマンドを呼び出します。

それは問題なくかなり長い間働いた。Xcodeを4.4にアップグレードした後、「XXXロケータープラグインのロードに失敗しました」と表示され始めています。エラーメッセージ。問題の追跡をどこから始めればよいか考えてみてください。

手がかりは役に立ちます!前もって感謝します。

機器からの出力

0 投票する
1 に答える
82 参照

ios - NSTimer はデータ量を増やします

メモリ使用量とメモリの増加を抑えるために、Instruments でアプリケーションを監視しています。そして、私は1つの奇妙なことを発見しました。NSTimer一定の間隔 (私の場合は 0.1 秒) から開始すると、Instruments でそれを確認できCFArray (store-deque)CFArray (mutable-variable)さらに増加し​​ます (毎秒約 200 バイト)。それは大丈夫ですか?それとも問題ですか?#生存数 は一定、#一過性#全体は成長します。また、全体的なメモリはまだ大きくなっています。そして、私には影がたくさんあります。のようMalloc 32 Bytesに、Malloc 48 Bytes...

もちろん、タイマー「tick」で呼び出されるメソッドは、私ではないことを確認するために空です...

私はそれらを気にする必要がありますか、それともシステム上のものですか...??? ありがとうございました。

0 投票する
1 に答える
841 参照

ios - ビューがフルスクリーンに展開されると、MPMoviePlayerControllerの割り当てが解除されます

のインスタンスの割り当てが解除されたことを確認するにはどうすればよいMPMoviePlayerControllerですか?すでにNSZombieEnabledをYESに設定してチェックしていることに注意してください。

問題のコードは、私のアプリの特定の状況下でうまく機能します。もう1つは、moviePlayerコントロールを含むビューが展開されると、MPMoviePlayerDidEnterFullscreenNotificationコールバックメソッドが実行され、画面が真っ暗になり、ユーザーの視点から見たアプリがフリーズした直後です。(違いは、これにはナビゲーションスタックに追加のviewControllerがあることです)。アプリはクラッシュしません。まだ実行中ですが、使用可能なUIに戻ることはできません。

デバッガーでは、インスタンスが「生きている」最後の既知の時刻をチェックしてアドレスを取得し、割り当てが解除されていることを確認します。

ここで黒い画面が発生するので、デバッガーを確認します。

他のクラスの他の既知のインスタンスをチェックすると、それらは生きていて、期待どおりです。

繰り返しになりますが、インスタンスがいつ、どのように割り当て解除または破棄されるかをどのように確認しますか?使用できる楽器タイプはありますか?割り当ては、インスタンスが割り当てられ、現在は生きていないことを示しています。

ステップバイステップのトレースを実行できると思いますが、それは面倒です...イベントが発生したときに条件を設定し、Instruments(またはデバッガー)を停止させることができれば素晴らしいと思います。

0 投票する
5 に答える
4630 参照

ios - インスツルメント コマンド ライン ユーティリティを使用して、iOS シミュレータの特定のハードウェア バージョンを起動します。

Appleが提供するUIAutomationを使用しています-> Xcode->instruments。JavaScript と、instruments コマンド ライン インフラストラクチャを使用した自動化全体が実行されています。

以前のバージョンのシミュレーター (iOS 6.0、5.1、5.0、4.3.2) で自動化を実行して、カバレッジを向上させるという追加のタスクがありました。

しかし、どのバージョンの iOS シミュレーターから選択するかを指定する方法がわかりません。デフォルトでは、常に最新の iOS シミュレーターが選択されます。

私は次のことを試しました:

  1. シミュレーターのバージョン パスを含む、シミュレーターが保持されているパスを指定します。
  2. カスタム Automation テンプレート トレースを作成し、それを使用しようとしています。
  3. defaults write com.apple.simulator ユーティリティを使用して iOS シミュレータのデフォルト バージョンを変更しました。