2013-11-28 29 views
9

Ich habe ein Crash-Protokoll auf einem iPhone OS 7.0.4 erstellt. Ich habe die passenden .app und .dSYM Dateien. Wenn ich das Crash-Protokoll mit Xcode 5 symbolicate, zeigt es mir so etwas wie diese:___lldb_unnamed_function in einem symbolischen Crash-Log

Thread 0 Crashed: 
0 MyProject   0x001df98a ___lldb_unnamed_function6108$$MyProject + 42 
1 MyProject   0x001e0c49 ___lldb_unnamed_function6119$$MyProject + 9 
2 MyProject   0x002928d5 ___lldb_unnamed_function8439$$MyProject + 13 
3 MyProject   0x0027fa1f ___lldb_unnamed_function8072$$MyProject + 287 
4 MyProject   0x0028e657 ___lldb_unnamed_function8368$$MyProject + 27 
5 MyProject   0x002888d1 ___lldb_unnamed_function8257$$MyProject + 201 

Wenn ich das Crash-Protokoll mit Xcode symbolicate 4, es dem richtigen Ergebnis erzeugt - es zeigt mir die Klassen und Methoden aus meiner Anwendung wo der Absturz aufgetreten ist. An der Stack-Trace sind keine anonymen Blöcke beteiligt.

Wie kommt es, dass Xcode 4 und Xcode 5 verschiedene symbolische Crash-Logs erzeugen? Als ich das Skript symbolicatecrash im ausführlichen Modus ausgeführt wird, zeigt es identische Ergebnisse für beide Xcode: sie entsprechen den richtigen .app und .dSYM Dateien und beide Finish mit diesen Zeilen:

done. 
1 binary images were found. 
Running /Applications/Xcode.app/Contents/Developer/usr/bin/atos -arch armv7 -l 0xd1000 -o '<PATH>/MyProject.app/MyProject' 0x002928d5 0x002888d1 0x001e0c49 0x0027fa1f 0x000d8f27 0x001df98a 0x0028e657 | 
got symbolicator for <PATH>/MyProject.app/MyProject, base address 4000 
+0

Zeigt 'xcrun -f atos' den Pfad zur korrekten, aktuellen Xcode-Installation an? – Kerni

+0

@Kerni Ja, ich habe es auf Maschinen getestet, wo Xcode 5 die einzige Xcode-Installation ist. Es gibt auch einen Rechner mit Xcode 4 und 5, xcrun zeigt dort auch den Pfad zu Xcode 5 an. –

Antwort

2

Ich habe symbolicating Probleme wurden mit mit Xcode 5 sowie

so habe ich meine Symbole mit atos symbolisiert.

atos -arch armv7 -o myApp.app/myApp 0x178e9e 
-- 
Warning: /usr/bin/atos is moving and will be removed from a future OS X release. 
It is now available in the Xcode developer tools to be invoked via: `xcrun atos` 
To silence this warning, pass the '-d' command-line flag to this tool. 
-- 
AFJSONEncode (in myApp) + 434 

die Warnung sah interessant, so habe ich beschlossen, atos versuchen xcrun

xcrun atos -arch armv7 -o myApp.app/myApp 0x178e9e 
___lldb_unnamed_function6926$$myApp (in myApp) + 434 

, die mir eine unbenannte Funktion gibt.

Also meine Vermutung ist, dass Xcode 5 Xcrun Atos verwendet, die einen Fehler hat.

mit Hilfe von Atos half mir, das Problem zu diagnostizieren und ein Update zu patchen. Ich habe Xcode 4 nicht installiert. vielleicht können Sie überprüfen, ob Xcode 4 die gleichen Ergebnisse wie atos liefert? Ich folgte den Anweisungen in diesem question

ich in einem guten Geist bin ein Skript zu schreiben Crash-Protokolle symbolicate:/

+0

Ich musste 'arm64' verwenden, um Symbole für alle Armkategorien zu erzwingen. Es gab den falschen Fehler "Armv7 nicht gefunden", bis ich das tat, da mein Dylib Symbole für alle Bögen enthielt. – EntangledLoops

2

Ich hatte dasselbe Problem und löste es, indem Adresse für ___lldb_unnamed_function von iOS crash reports: atos not working as expected Post zu berechnen.

Nach diesem Lauf:

xcrun atos -arch ARMv7 (n) -o Xyz.app.dSYM/Contents/Resources/ZWERG/xyz Calculated_Address

0

Sie haben Build erstellt wurden, müssen mit Xcode 4.6 und vielleicht kannst du jetzt auf xcode 5 upgraden. Sie müssen Ihr xcode Entwicklerverzeichnis auf xcode 4.6 Entwicklerverzeichnis einstellen, damit es funktioniert.

0

Ich habe diese Art von Problemen, wenn ich vergessen habe, Spark Inspector beim Debuggen unserer Anwendung auf einem iOS 5 Gerät (wie die original iPad) zu beenden.

0

Hatte dieselben ___lldb_unnamed_function Symbole im Crash-Protokoll.

Sie können die tatsächlichen Klassen und Methoden von KSCrash (Third Party iOS Crash Reporter) erhalten, wo der Absturz aufgetreten ist.
Unterstützt auch nicht abgefangene C++ - Ausnahmen!