アプリをデバッグしようとしています。問題は、このプログラムが見つからないことです。
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を使用しています
ありがとう。
いくつかの例外を除いて、元の回答(下記)で概説されているのと同じ手順を実行する必要があります。
最初に、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/
端末からの検索:
/ Developer -name symbolicatecrash -type fを検索します
私にとってこれは戻りました:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
最初の引数としてクラッシュログを、2番目の引数としてdSYMファイルを使用してsymbolicatecrash
コマンドを実行します。現在のディレクトリからsymbolicatecrash
を実行する場合は、必ず./
のように前に./symbolicatecrash
PATH環境変数にコマンドが存在するディレクトリが含まれていない限り。
最初に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ファイルを取得するには、クラッシュでビルドを作成するために使用されたアーカイブが必要です。
手順は次のとおりです。
Xcode用のプラグインは、[製品]メニューから利用できます。このプラグインは Alcatrazパッケージマネージャー から入手できます。または githubから から直接ダウンロードできます。
このプラグインは、手動のクラッシュシンボリケーションのために以下のコマンドを実行するための設定を行うシェルスクリプトを内部に組み込んでいます。
エイリアスsymbolicatecrash = '/ Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash'
/Applications/Xcode.app -name symbolicatecrash -type fを見つけます
エクスポートDEVELOPER_DIR = '/ Applications/Xcode.app/Contents/Developer'
symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM。
クラッシュログを表す1つの方法は、ターミナルで次のコマンドを実行することです。
xcrun atos -o MyApp.app/MyApp -Arch armv7 -l 0xb7000 -f MyApp.crash
上記のコマンドの例の16進数(0xb700)をベースロードアドレスに置き換えます。ベースロードアドレスは、直後の行の最初のメモリアドレスです。
「バイナリイメージ:」
.appファイルを取得するには:
Xcarchiveファイルを右クリックして[パッケージの内容を表示]を選択します。appファイルはProducts/Applicationsディレクトリにあります。
Appleで説明されているように、 Xcodeは自動的に記号化を試みます。symbolicatecrash
とSpotlightを使用してそれを行います。ただし、アプリがローカルでビルドされていない場合またはそれが削除された場合、必要な.appおよび.dsymファイルは使用できません。
ですから、dsymファイルとリリースされたバージョンのアプリに注意してください。ビルドツールは、多くの場合、.dsymファイルを.dsym.Zipに圧縮し、.appを.ipaとしてパッケージ化します。両方を解凍して、.appと.dsymを同じフォルダーにコピーできます。その後、Xcodeはスポットライトを使用してそれらを見つけることができます。
5分前にクラッシュログのデバッグに関する投稿を書いたところです。 http://just2us.com/2010/10/reading-iphone-crashlog/
ログをXcodeにドラッグアンドドロップするだけで十分な場合は、symbolicatecrash.shは不要になる可能性があります。 3.2.4を使用していますが、スクリプトも見つかりません。
ここに私が使用する簡単な方法があります: