26

アプリをデバッグしようとしています。問題は、このプログラムが見つからないことです。

symbolicatecrash.sh

sudo cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneRemoteDevice.xcodeplugin/Contents/Resources/symbolicatecrash /usr/local/bin/

個別ダウンロードですか?XCode 3.2.3 を使用しています

ありがとう。

4

6 に答える 6

89

編集:: XCode 4.3

いくつかの例外を除いて、元の回答 (以下) で概説されているのと同じ手順に従う必要があります。

まず、Xcode パスを修正する必要があります。ターミナルを開き、次を実行します。

/usr/bin/xcode-select -print-path

「/Developer」または「/Applications/Xcode.app/Contents/Developer/」以外が表示される場合は、間違っています。これを修正するには、次のコマンドを実行します。

sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/

symbolicatecrashコマンドが新しい場所にあることを除いて、以下のすべての手順を実行できるようになりました (再び)。これは、Xcode がアプリとしてインストールされるようになったためです。 端末からこれを実行して見つけるsymbolicatecrashには:

/Applications/Xcode.app を見つけます -name symbolicatecrash -type f

これは次のように返されます。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

実行する前symbolicatecrashに、次のようにこのディレクトリに移動したい場合があります。

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/


元の回答 :: Xcode < 4.3

シンボリッククラッシュのパス

以下を使用して端末から検索します。

/Developer -name symbolicatecrash -type f を検索

私にとってこれは返されました:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

クラッシュ ログを手動で記号化する方法

symbolicatecrashクラッシュ ログを最初の引数として、dSYM ファイルを 2 番目の引数としてコマンドを実行します。PATH環境変数にコマンドが存在するディレクトリが含まれていない限りsymbolicatecrash、現在のディレクトリから実行する場合は./、前に置く必要があることに注意してください。./symbolicatecrash

最初にコマンドが含まれているディレクトリに変更しましたsymbolicatecrash(注: Xcode 4.3 では異なります。上部を参照してください)。

cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/

次に、次のコマンドを実行しました。

./symbolicatecrash /somePath/MyCrashLogFile.crash /somePath/MyAppName.app.dSYM

dSYM ファイルを見つける方法:

dSYM ファイルを取得するには、クラッシュを伴うビルドの作成に使用されたアーカイブが必要です。

手順は次のとおりです。

  1. ctrlオーガナイザーのアーカイブを 右クリック (またはクリック) し、[Show in Finder] を選択します。
  2. ファインダーの xcarchive ファイルから、ctrlこのファイルを右クリック (またはクリック) し、[パッケージの内容を表示] を選択します。「dSYMs」フォルダが表示されます。
  3. 「dSYMs」フォルダー内には、ファイルをシンボリック化するために必要な「YourAppName.app.dSYM」ファイルがあります。
于 2011-12-27T19:00:04.313 に答える
5

Xcode のプラグインは、[製品] メニューの下で利用できます。このプラグインは、Alcatraz パッケージ マネージャーから入手するか、github から直接ダウンロードできます。

このプラグインには、手動のクラッシュ シンボリケーションのために次のコマンドを実行するためのセットアップを行うシェル スクリプトが内部的に組み込まれています。

  1. エイリアスをsymbolicatecrash.pl perlスクリプトに設定します

alias symbolicatecrash='/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash'

  1. symbolicatecrash を見つけるには、上記のエイリアスとは異なる必要があります。

/Applications/Xcode.app を見つけます -name symbolicatecrash -type f

  1. DEVELOPER_DIR 変数を設定します。

export DEVELOPER_DIR='/Applications/Xcode.app/Contents/Developer'

  1. dSYM を使用すると、クラッシュを次のように象徴できます。

symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.

于 2015-07-18T01:42:38.520 に答える
2

Apple が説明しているように、Xcode は自動的にシンボル化を試みます。symbolicatecrashそのためにスポットライトを使用します。ただし、アプリがローカルでビルドされていないか、削除されている場合、必要な .app ファイルと .dsym ファイルは利用できません。

そのため、リリースされたバージョンの dsym ファイルとアプリを保管しておいてください。ビルド ツールは、多くの場合、.dsym ファイルを .dsym.zip に圧縮し、.app を .ipa としてパッケージ化します。両方を解凍して、.app と .dsym を同じフォルダーにコピーできます。その後、Xcode はスポットライトを使用してそれらを見つけることができます。

于 2013-11-25T11:38:56.440 に答える
2

5 分前にクラッシュ ログのデバッグに関する投稿をここに書きました: http://just2us.com/2010/10/reading-iphone-crashlog/

ログを Xcode にドラッグ アンド ドロップするだけで十分な場合は、symbolicatecrash.sh はもう必要ないかもしれません。私は 3.2.4 を使用していますが、スクリプトも見つかりません。

于 2010-09-30T17:09:51.870 に答える