449 Stimmen

Symbolisierung von iPhone App-Absturzmeldungen

Ich möchte versuchen, die Absturzberichte meiner iPhone-App zu symbolisieren.

Ich habe die Absturzberichte von iTunes Connect abgerufen. Ich habe die Programm-Binärdatei, die ich im App Store eingereicht habe, und ich habe die dSYM-Datei, die als Teil des Builds erstellt wurde.

Ich habe alle diese Dateien in einem einzigen Verzeichnis, das von Spotlight indiziert wird.

Was nun?

Ich habe versucht, sie aufzurufen:

symbolicatecrash crashreport.crash myApp.app.dSYM

und es wird einfach derselbe Text ausgegeben, der zu Beginn im Absturzbericht steht, nicht symbolisiert.

Mache ich etwas falsch?

28voto

Ich habe auch dsym, das Anwendungspaket und das Absturzprotokoll in dasselbe Verzeichnis gelegt, bevor ich symbolicate crash ausgeführt habe

Dann verwende ich diese in meinem .profile definierte Funktion, um die Ausführung von symbolicatecrash zu vereinfachen:

function desym
{
    /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash -A -v $1 | more
}

Die dort angeführten Argumente könnten Ihnen helfen.

Sie können überprüfen, ob spotlight Ihre dysm-Dateien "sieht", indem Sie den Befehl ausführen:

mdfind 'com_apple_xcode_dsym_uuids = *'

Suchen Sie nach dem dsym, das Sie in Ihrem Verzeichnis haben.

HINWEIS: In der neuesten Xcode-Version gibt es kein Entwicklerverzeichnis mehr. Sie können dieses Dienstprogramm hier finden:

/Anwendungen/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versionen/A/Ressourcen/symbolicatecrash

28voto

averydev Punkte 5637

Ich verwende Airbrake in meinen Anwendungen, das eine ziemlich gute Arbeit bei der Remote-Fehlerprotokollierung leistet.

So symbolisiere ich sie mit atos, wenn die Rückverfolgung dies erfordert:

  1. Gehen Sie in Xcode (4.2) in den Organizer, klicken Sie mit der rechten Maustaste auf das Archiv, aus dem die aus dem die .ipa-Datei erzeugt wurde.

  2. Im Terminal, cd in das xcarchive zum Beispiel MyCoolApp 10-27-11 1.30 PM.xcarchive

  3. Geben Sie Folgendes ein atos -arch armv7 -o 'MyCoolApp.app'/'MyCoolApp' (vergessen Sie nicht die einfachen Anführungszeichen)

  4. Ich schließe mein Symbol nicht in diesen Aufruf ein. Was Sie erhalten, ist ein Block-Cursor auf einer leeren Zeile.

  5. Dann kopiere ich meinen Symbolcode und füge ihn an der Stelle des Blockcursors ein und drücke eingeben. Sie sehen dann etwas wie:

    -[MyCoolVC dealloc] (in MyCoolApp) (MyCoolVC.m:34)

  6. Sie haben wieder einen Blockcursor und können weitere Symbole einfügen.

Die Möglichkeit, ein Element zurückverfolgen zu können, ohne den ersten Teil erneut eingeben zu müssen, spart eine Menge Zeit.

Viel Spaß!

21voto

Aditya Aggarwal Punkte 517

Nur eine einfache und aktualisierte Antwort für xcode 6.1.1 .

SCHRITTE

1.Xcode>Fenster>Geräte.

Wählen Sie ein Gerät aus der Liste der Geräte im Abschnitt GERÄTE aus.

3. wählen Sie Geräteprotokolle anzeigen.

Unter dem Abschnitt "Alle Protokolle" können Sie den Bericht "crash" direkt per Drag & Drop ablegen.

5. Xcode symbolisiert den Absturzbericht automatisch für Sie.

Sie können den von Symbolicated erstellten Absturzbericht finden, indem Sie dessen Datum/Uhrzeit mit dem in Ihrem Absturzbericht genannten Datum/Uhrzeit abgleichen.

14voto

Sam B Punkte 26515

Obwohl ich schon seit einigen Jahren Anwendungen entwickle, war dies mein erstes Mal, dass ich eine Binärdatei debuggen musste, und ich fühlte mich wie ein kompletter Anfänger, der herausfinden musste, wo all die Dateien sind, d.h. wo ist *.app *.dSYM und die Absturzprotokolle? Ich musste mehrere Beiträge lesen, um es herauszufinden. Ein Bild sagt mehr als tausend Worte, und ich hoffe, dieser Beitrag hilft anderen in Zukunft.

1- Gehen Sie zuerst zu itunesconnect und laden Sie Ihre Absturzprotokolle herunter. HINWEIS: In den meisten Fällen erhalten Sie die Meldung "Es wurden zu wenige Berichte eingereicht, um einen Bericht anzeigen zu können". Das bedeutet, dass nicht genügend Benutzer Absturzprotokolle an Apple übermittelt haben, so dass Sie zu diesem Zeitpunkt nicht viel tun können.

enter image description here

enter image description here

2- Wenn Sie Ihren Code nicht geändert haben, seit Sie Ihr Binary an Apple übermittelt haben, starten Sie Xcode für dieses Projekt und wählen Sie erneut Produkt --> Archiv. Andernfalls suchen Sie einfach Ihre zuletzt eingereichte Binärdatei und klicken Sie mit der rechten Maustaste darauf.

enter image description here

enter image description here

enter image description here

enter image description here

8voto

cberkley Punkte 311

Öffnen Sie in Xcode 4.2.1 Veranstalter und gehen Sie dann zu Bibliothek/Geräteprotokolle und ziehen Sie Ihre .crash-Datei in die Liste der Absturzprotokolle. Nach ein paar Sekunden wird sie für Sie symbolisiert.

Beachten Sie, dass Sie dieselbe Instanz von Xcode verwenden müssen, auf der der ursprüngliche Build archiviert wurde (d. h. das Archiv für Ihren Build muss sich in Veranstalter ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X