14

Leaks アプリケーションを使用して iPhone アプリケーションを分析しようとしていますが、特定のメモリ リークに関する詳細情報を表示しようとした場合を除いて、すべて正常に動作しているように見えます。Leaks がソース コードをロードしていないようです。右側のスタック ビューを見ると、iPhone フレームワークを参照する呼び出しが表示されますが、私が作成したソース コードを参照しているものはすべて空です。以下のスクリーンショットは私の要点を示しています。水色のブロックは、私のソース コードを参照しているはずです。誰もこの問題を抱えたことがありますか?Leaks はソース コード/シンボルを正しく見つけられないだけですか? ありがとう!

編集:「デバイス - iPhone OS 2.2」をデバッグ構成で使用してアプリをコンパイルしています。Xcode 内から [Run] -> [Start With Performance Tool] -> [Leaks] を選択して、Leaks を起動します。Leaks で「シンボル ファイルを利用できるようにする」にはどうすればよいでしょうか。

代替テキスト
(出典: andrewgarrison.com )

4

8 に答える 8

13

iOS 4.0 以降の場合、シンボルを修正して不要なメモリ アドレスを美しいファイル名、関数名、行番号に変換する方法は次のとおりです。

  1. Xcode で、Run -> Run with Performance Tool に移動し、インストゥルメントを選択します。
  2. 楽器がロードされたら、停止ボタンを押して録音を停止します。[ファイル] -> [ドキュメントの再記号化] に移動します。
  3. 新しいウィンドウで [パス] をクリックし、プラス (+) ボタンをクリックして新しいパスを追加します。プロジェクト ファイルを含むフォルダーに移動し、[開く] をクリックします。[シンボル化] をクリックします。
  4. 利益!

最終的に解決策にたどり着く前に、これを1か月間探していました。これがあなたの何人かを助けることを願っています!

于 2010-11-29T21:29:23.210 に答える
8

これが起こるのを見ましたが、別の構成でした。Snow Leopard 10.6.1、Xcode 3.2、Instruments 2.0 では、シミュレーターで iPhone OS 3.0 を実行しているときに Leaks にシンボルが表示されませんでした。Apple の iPhone 開発者フォーラムで検索したところ、これは iPhone 3.0 SDK (作業中) の既知の問題であり、アクティブな SDK を 3.1 に切り替えることが回避策であることが明らかになりました。案の定、それは私のために働いた!

于 2009-09-22T00:40:57.580 に答える
2

プロジェクト>プロジェクト設定の編集

デバッグターゲットを選択

ビルドタブをクリック

Strip Linked Productがチェックされていないことを確認してください

于 2011-01-13T02:53:25.440 に答える
2

起動ディスクとホスト名の両方から非 ASCII 文字をすべて削除し
(システム環境設定の [共有] パネルを参照)、再起動します。

タダ!

于 2009-05-13T23:13:46.440 に答える
1

私も同じ問題を抱えていました。ビルドディレクトリを/tmp/xcodeに設定したことがわかりました。これをデフォルトに戻すと、問題が修正されました。これはXcode3.2.3でした。

于 2010-09-03T14:20:25.220 に答える
1

デバッグ モードでコンパイルし、シンボル ファイルを使用できるようにしましたか?

于 2009-04-08T00:26:45.570 に答える
1

ビルド ターゲット ディレクトリが「.」で始まる場合 (たとえば、「.xcode-build」を使用していた場合)、.dsym ファイルが見つかりません。私の場合、ビルド ディレクトリを「xcode-build」に変更すると問題が解決し、アプリケーションのすべてのシンボルがスタック トレースに表示されるようになりました。

于 2010-01-14T02:48:58.333 に答える
0

私は Xcode 4.5.2 で Snow Leopard を持っています - Instruments 4.5 デフォルトのデバッグ場所をレガシーに設定すると、それが表示され始めました

ファイルに移動---->プロジェクト設定---->詳細設定---レガシーを選択

デバッグ場所 ---従来の設定

于 2013-01-03T07:11:14.240 に答える