13

コードをシンボリック化することができません...「以下」の部分を読みました:

クラッシュ レポート、一致するバイナリ、およびその .dSYM ファイルがあれば、シンボル化は比較的簡単です。Xcode オーガナイザー ウィンドウには、現在選択されているデバイスのクラッシュ レポートのタブがあります。外部から受信したクラッシュ レポートをこのタブで表示できます。それらを適切なディレクトリに配置するだけです。これは、最初のセクションで説明した Mac OS X ディレクトリと同じです。どのデバイスをテザリングしたかは問題ではありませんが、クラッシュ レポートを配置するディレクトリは、テザリングして選択したデバイスのディレクトリである必要があります。

バイナリと .dSYM ファイルを特定の場所に配置する必要はありません。Xcode は、Spotlight と UUID を使用して正しいファイルを見つけます。ただし、両方のファイルが同じディレクトリにあり、このディレクトリが Spotlight によってインデックス付けされているディレクトリである必要があります。ホームディレクトリのどこでも問題ありません。

しかし、それは私にはうまくいきません...これが私がしたことです:

  • Xcodeオーガナイザーを開き、iPhoneデバイスにクラッシュログを記録しました
  • アプリと dsym ファイルは、デスクトップにある xcode プロジェクトにあります。

残りはすべて自動であるはずですよね?しかし、クラッシュログはまだ象徴化されていません...

どんなコメントでも大歓迎です。

乾杯。

ゴテ。

4

3 に答える 3

13

私はこれに数日間苦労してきましたが、ついにそれを理解しました。携帯電話にインストールしたアーカイブ アプリケーションからシンボリック ログを取得できませんでした。私にとっては、ビルド設定の問題でしたが、これらの手順に従った後、一部の古いビルドからのログもシンボル化できることに気付きました. YMMV は、古いビルドのクラッシュ ログによって異なる場合があります。iOS 4.3.1 上の Xcode 4.0.1 でこれらの手順を実行した後、シンボリック ログを取得できました。

Xcode プロジェクト ナビゲーターで、プロジェクトをクリックし、[ビルド設定] をクリックします。アプリケーションをアーカイブすると、Xcode はデフォルトで Release 構成を使用します。次の値はリリース構成のみに設定する必要があるため、まだ展開されていない設定を展開して、構成ごとに設定できるようにする必要があります。

リリース構成に次の値が設定されていることを確認します。

  • デバッグ シンボルの生成: はい
  • デバッグ情報の形式: dSYM ファイルを含む DWARF
  • 展開後処理: はい
  • ストリップリンク製品: はい
  • 別のストリップを使用: はい
  • コピー中にデバッグ シンボルを取り除く: いいえ
  • ストリップ スタイル: すべての記号

それらが設定されたら、アプリケーションをアーカイブして再インストールします。結果のアーカイブから生成された新しいクラッシュ レポートは、正しくシンボリック化する必要があります。私にとっては、ビルドが大きく異なる場合に結果がどれほど正確になるかはわかりませんが、これらの手順を実行した後、多くの古いクラッシュ レポートも正しくシンボル表示されました。

参考までに、このページを調べた後、私はこれをすべて理解しました:http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html

また、特定のビルド設定が何をするのかを理解しようとしている場合に便利なこのページも見つけました。/build_setting_ref.html

お役に立てれば!

ダン

于 2011-03-29T16:48:17.973 に答える
8

クラッシュ レポートを象徴するために、次のアプローチを試してください。

(a)シンボリケーターを見つけます(/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash)

(b) ターミナルを開き、このファイルをドラッグします (パスが正しくコピーされるように)

(c) /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatorcrash .crash .app のようなコマンドを実行します (クラッシュ レポートとアプリ ファイルのパス全体に言及します)。 )

(d) 象徴化されたクラッシュ レポートが表示されます

于 2010-10-07T12:33:50.603 に答える
5

Apple からのクラッシュ レポートを分析する手順:

  1. アプリストアにプッシュされたリリース.appファイル、リリース時に作成された.dSYMファイル、APPLEから受信したクラッシュレポートをFOLDERにコピーします。

  2. 端末アプリケーションを開き、上記で作成したフォルダーに移動します (CD コマンドを使用)。

  3. atos -arch armv7 -o '(ここに .app ファイル名)'/'(.dSYM ファイル名)' (クラッシュが発生したクラッシュ レポート内のメモリの場所)。メモリの場所は、レポートに従ってアプリがクラッシュした場所である必要があります。

例:atos -arch armv7 -o 'アプリ名.app'/'アプリ名' 0x0003b508

これにより、クラッシュの原因となった正確な行、メソッド名が表示されます。

ありがとう

于 2011-02-10T09:25:07.977 に答える