SnowLeopardでXCode3.2を実行していて、アプリに対してZombiesインストゥルメントを実行しようとしていますが、選択がグレー表示されており、理由がわかりません。 NSZombieEnabled環境変数について知っています。アプリケーションでYESに設定しています。これが重要かどうかはわかりませんが、このアプリは、以前のバージョンのXCodeを使用してLeopardで開発を開始したアプリです。これが私のメニューがどのように見えるかのスクリーンショットです:
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
ボタンを押します。
いくつかサイドノート:
適切な場所に設定していますか?つまり、これは実行時に調整可能であり、コンパイル時間ではありません。正しい場所に設定していることを確認して、再試行してください。
[プロジェクト]-> [アクティブな実行可能ファイルの編集]に移動します
[引数]をクリックします
[環境に設定する変数]セクションで[+]をクリックします
[名前]列にNSZombieEnabledを入力し、[値]列にYESを入力します。
Make sure NSZombieEnabledエントリのチェックマークがオンになっています。
Appleエンジニアが言ったように、Run with Performance ToolのほとんどのアイテムにはdTraceのサポートが必要ですが、dTraceはiOSでも、シミュレーターでもまだ利用できません。
ただし、奇妙なことに、@ florinで説明されているように、Instrumentsでテンプレートを手動で設定して、ゾンビをテストできます。