2012-08-09 7 views

Antwort

33

Zunächst benötigen Sie drei Dateien: die dSYM-Datei, die Anwendungsdatei und das Absturzprotokoll.

Öffnen Sie den X-Code, zeigen Sie im Projektnavigator den Ordner Produkte an und zeigen Sie die App-Datei im Finder an. Hier finden Sie auch die dSYM-Datei. Kopiere sie in einen Ordner.

Öffnen Sie jetzt das Terminal und navigieren Sie zu dem Ordner, den Sie vorher die beiden Dateien kopiert haben. Run: dwarfdump --uuid Application_name.app/Application_name Sie sollten die UUID der Anwendung erhalten. Führen Sie den folgenden Befehl aus: dwarfdump --uuid Application_name.app.dSYM - Sie erhalten erneut die UUID, die mit der zuvor empfangenen UUID übereinstimmen sollte.

Öffnen Sie das Absturzprotokoll (X-Code - Organizer - stürzt ab) und suchen Sie die Zeile, in der der Titel "Binärbilder" angezeigt wird. Hier ist eine weitere UUID in der ersten Zeile, die wieder mit dem zuvor im Endgerät empfangenen übereinstimmen sollte.

Jetzt können Sie sicher sein, dass der Absturz in dem von Ihnen untersuchten Build protokolliert wurde. Öffnen Sie die Absturzprotokolldatei erneut, suchen Sie den Abschnitt Thread 0, und es sollten zwei Zeilen mit Ihrem Anwendungsnamen und zwei Adressen vorhanden sein. Wie zum Beispiel:

Application_name 0x123456 
Application_name 0x987654 

Im Terminal sollten Sie jetzt laufen: atos -arch armv7 -o address1 address2 (die address1 und address2 sollten mit den vorherigen zwei Adressen ersetzt werden, und die ARMv7 mit Ihrem System - es an den Linien dargestellt ist, wo Sie bekam die UUIDs).

Glückliches Debugging!

EDIT: Ich möchte this Post als Basis von mir erwähnen.

+1

der ATOS-Befehl, um die beschriebenen Verfahren immer nicht funktioniert, aufgrund ASLR in der Aktuelle iOS-Versionen. Gehen Sie zu dieser Erklärung, was Sie stattdessen tun sollten: http://stackoverflow.com/questions/13574933/ios-crash-reports-atos-not-working-as-expected/13576028#13576028 – Kerni

1

Eigentlich kann man die DSYM Datei nicht entschlüsseln, sondern erhalten den Fehler Detail von ihm 1. Crash-Thread und Adresse von Log-Datei finden: Nach 0x0nnn 2. ist die native Code Typ von Protokolldatei finden: finden arm64
3. DSYM Datei (Symboldatei) finden, Auszug aus .xcarchive: finden xx.app.dSYM

dwarfdump --lookup 0x0nnn --arch=[arm64 armv6 armv7] xx.app.dSYM 
Verwandte Themen