web-dev-qa-db-ja.com

ゾンビ機器でiPhoneプログラムを実行する方法は?

SnowLeopardでXCode3.2を実行していて、アプリに対してZombiesインストゥルメントを実行しようとしていますが、選択がグレー表示されており、理由がわかりません。 NSZombieEnabled環境変数について知っています。アプリケーションでYESに設定しています。これが重要かどうかはわかりませんが、このアプリは、以前のバージョンのXCodeを使用してLeopardで開発を開始したアプリです。これが私のメニューがどのように見えるかのスクリーンショットです:

ScreenShot

29
Justin Kredible

XCodeの外部からZombiesインストゥルメントを使用してInstrumentsアプリケーションを起動する必要があります

これがあなたがそれをすることができる方法です:

Instrumentsアプリケーションは通常/Developer/Applications/内にありますが、Spotlightを使用して見つけることもできます。

Instrumentsが起動すると、新しいトレースドキュメントのテンプレートを選択するように求める画面が表示されます。

選択:iPhone Simulator > Memory > Zombies

次に、ターゲットを選択する必要があります。

移動先:Chose target > Chose target > Chose target...

次に、アプリケーションファイルを選択する必要があります。
<Path to your iPhone project>/build/Debug-iphonesimulator/<Application name>
そしてChoseを押します。

これですべての設定が完了しました。

アプリケーションを起動するには、Recordボタンを押します。

いくつかサイドノート

  • Mac OS X10.6.3でXCode3.2.3を使用しましたが、以前のバージョンでも同じように機能すると思います。
  • ゾンビーズインストゥルメントは、シミュレーターでのみ機能します。
  • すべてのゾンビがリークとして表示されるため、ゾンビインスツルメントをリークインスツルメントと一緒に使用することはできません。
  • XCodeのメニューがグレー表示されている理由も知りたいです。
29
Florin

適切な場所に設定していますか?つまり、これは実行時に調整可能であり、コンパイル時間ではありません。正しい場所に設定していることを確認して、再試行してください。

[プロジェクト]-> [アクティブな実行可能ファイルの編集]に移動します
[引数]をクリックします
[環境に設定する変数]セクションで[+]をクリックします
[名前]列にNSZombieEnabledを入力し、[値]列にYESを入力します。
Make sure NSZombieEnabledエントリのチェックマークがオンになっています。

7
jer

Appleエンジニアが言ったように、Run with Performance ToolのほとんどのアイテムにはdTraceのサポートが必要ですが、dTraceはiOSでも、シミュレーターでもまだ利用できません。

ただし、奇妙なことに、@ florinで説明されているように、Instrumentsでテンプレートを手動で設定して、ゾンビをテストできます。

2
an0