2017-06-06 10 views
0

にすべてのコールを記録しています。は楽器音源はあります私のコード(とやAppleの独自のフレームワークなし)によって行われたすべての呼び出しを記録Xcodeの楽器でのインストゥルメントがあります私のアプリ

それを行うように見える最も近い楽器は時間プロファイラです。
しかし、時間プロファイラは、独自のコードの中で行われたすべての通話を記録しません。すべてのTime Profilerは、一定の間隔でスタックのスナップショットを取得します。

私はあなたのいくつかは、時間プロファイラの「サンプリング間隔」を変更することをお勧めかもしれ推測している、そしておそらくそれがうまくいくかもしれないが、あなたのコード内のすべての呼び出しを記録した機器はありません。それは広く、それはハードな機器が存在しないと信じて作っている、非常に有用であろうようにこれがそうです。

私は自分自身のDTrace計測器を作ろうとしましたが、私が何をするにしても、計測器はどの構成でも実行可能ではないというメッセージが表示されます。

もう1つのオプションは、デバッガを一時停止し、LLDBプロンプトで、興味のあるコードにブレークポイントを設定し、それらのブレークポイントにコマンドを追加して、ヒットしたときに、彼らは基本的に私にコールの順序を教えて、フレーム情報を吐き出す。

残念ながら、その機能は前のXcodeのいくつかのバージョンを作業中止しました。 私は50ポイントの恵みが

lldb breakpoint commands not working in XCode 8

答えて

1

この答えは、「すべての呼び出し」を保証するものではありません...ここにその問題を説明するキャプチャされますが、あなたはより詳細なサンプルを与えるべき遅延モードの記録を使用しています。

遅延モード:データ収集が完了するまでデータ分析を延期する場合に選択します。これにより、記録されるプロセスに多くのシステムリソースが割り当てられるため、データ収集がより迅速かつ正確になります。

これはレコードオプションペインにありますが、すべての楽器で利用できるわけではありません。それは間違いなくタイムプロファイラーのために役立ちます。

関連する問題