Apple Instruments (4.6、Xcode 4.6.2 on 10.8.3) で問題が発生しました。通常、Time Profiler を使用すると、ソースを見て問題なくホットスポットを確認できます (同じプロジェクト)。
今回は、「カウンター」テンプレートを使用して、CPU パフォーマンス カウンター イベントをサンプリングしようとしました。必要に応じてイベントをサンプリングし、同じ時間ベースのプロファイリング情報も持っていますが、「タイムプロファイラー」でできるように、コードにステップインしてホットスポットを調べようとすると、すべて取得しますソースを持っていた場所は「利用不可」です。アセンブリもありません。
プロジェクトは次のように構築されます。
- リリースビルド
- デバッグ情報はオンであり、ストリップされていません
- DWARF + dsym は、プロファイリング データの保存に使用されます。
前述したように、時間プロファイラーで機能するのと同じ構成です。私はすでに試しました(ここに記載されているほとんどすべて:Xcode 4 Instruments does not show source lines、実行を除いて -O0、デバッグパフォーマンスは私にとって重要ではありません)
- 再コンパイル
- 「File -> Re-Symbolicate」を使用して dysm ファイルを再配置します。
単純に Instruments を閉じて、Xcode から別のプロファイルを開始し、Time Profiler を選択するとすぐに動作し、パフォーマンス カウンターに戻ると停止します。
これはデフォルトの動作ですか?このようにする必要がありますか?現在のインスツルメンツのバージョンで、すでに誰かがそれを機能させることができましたか? それ以外の場合は、Apple にバグを報告する価値があるかもしれません。
どうもありがとう!