16

App Store の iPhone アプリケーション (iTunes Connect 経由で取得) からのクラッシュ ログがあり、シンボリック化した後、CodeData と CoreFoundation からの "<redacted>" メソッド名がたくさんあります。

iTunes Connect からの元のクラッシュ ログ ファイルは次のようになります。

Last Exception Backtrace:
0   CoreFoundation                  0x34a0929e __exceptionPreprocess
1   libobjc.A.dylib                 0x32d1997a objc_exception_throw
2   CoreData                        0x3631fec2 -[NSSQLCore _obtainOpenChannel]
3   CoreData                        0x363cfd9c newFetchedRowsForFetchPlan_MT
4   CoreData                        0x363b3be6 -[NSSQLCore newFetchedPKsForSourceID:andRelationship:]
5   CoreData                        0x363a6008 -[NSSQLCore newValueForRelationship:forObjectWithID:withContext:error:]
6   CoreData                        0x3635690a -[NSFaultHandler retainedFulfillAggregateFaultForObject:andRelationship:withContext:]
7   CoreData                        0x36326d48 -[_NSFaultingMutableSet willRead]
8   CoreData                        0x3632767c -[_NSFaultingMutableSet allObjects]

Mac でシンボリック化すると、ログは次のようになります。

Last Exception Backtrace:
0   CoreFoundation                  0x34a0929e <redacted> + 158
1   libobjc.A.dylib                 0x32d1997a objc_exception_throw + 26
2   CoreData                        0x3631fec2 <redacted> + 230
3   CoreData                        0x363cfd9c <redacted> + 948
4   CoreData                        0x363b3be6 <redacted> + 2590
5   CoreData                        0x363a6008 <redacted> + 528
6   CoreData                        0x3635690a <redacted> + 478
7   CoreData                        0x36326d48 <redacted> + 220
8   CoreData                        0x3632767c <redacted> + 20
9   [myappname]                     [memory addresses here]
...

「<redacted>」が記号化されたバージョンに追加される理由を見つけるのを手伝ってくれる人はいますか? 上記のように、基本的な libobjc シンボルと同様に、自分のアプリのシンボルは正常にシンボル化されます。

更新: Kerni の回答の後、より明確になるようにログを切り替えました

4

2 に答える 2

14

~/Library/Developer/Xcode/iOS私は同じ問題を抱えていて、 DeviceSupportからすべてのiOS 6.0(ベータ版を含む)データを削除することでメッセージを取り除きました。

現在、symbolicateは、/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403)/
ユーザーライブラリに保存されているシンボルデータの代わりに、に保存されているシンボルデータを使用します。

于 2012-10-12T07:35:57.470 に答える
7

私が理解している限り、最初のレポートはiTunes Connectからダウンロードされ、2番目のレポートはMacで処理した後のものです。

<redacted>デバイスでクラッシュレポートを作成するときに、一部のシステムライブラリの一部の一部のシステムシンボルを解決するときにiOSによって使用されています。これを起こさないようにするためにできることは、Macで再び象徴すること以外にありません。

更新:記号化スクリプトはすべての行を再処理し、iOS 6ベータリリースの1つ以降、Appleはこれらの<redacted>記号の報告を開始しました。<redacted>これは、適切な記号の代わりに古いバージョンのatosが返されることも意味します。

Xcode4.5がiOS6シンボルが存在する状態でインストールされているかどうか、およびXcode4.5が現在選択されているかどうかを確認してください。システムが最新バージョンのatosを使用していることを確認する必要があります。

記号化スクリプトはバイナリxcrunの検索に使用しているためatos、次のコマンドを使用して、正しいバイナリが検出されたかどうかを確認できます。

xcrun -find -sdk iphoneos atos

これは、Xcode4.5アプリパッケージを指しているはずです。

于 2012-10-09T22:30:24.197 に答える