2013-11-28 26 views
9

Ho un registro di arresto anomalo prodotto su un OS OS 7.0.4. Ho i file appropriati .app e .dSYM. Quando ho symbolicate il crash log con Xcode 5, mi si vede qualcosa di simile:___lldb_unnamed_function in un registro di errore simboleggiato

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 

Quando ho symbolicate il crash log con Xcode 4, produce il risultato giusto - mi mostra le classi ei metodi da mia applicazione dove si è verificato l'arresto anomalo. Non ci sono blocchi anonimi coinvolti nella traccia dello stack.

Come mai Xcode 4 e Xcode 5 producono diversi registri anomali simbolizzati? Quando eseguo lo script symbolicatecrash in modalità dettagliata, mostra risultati identici sia per Xcode: essi corrispondono il .app corretta e file .dSYM ed entrambi finitura con queste righe:

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

'xcrun -f atos' mostra il percorso per l'installazione Xcode aggiornata corretta? – Kerni

+0

@Kerni Sì, l'ho provato su macchine in cui Xcode 5 è l'unica installazione Xcode. C'è anche una macchina con Xcode 4 e 5, xcrun mostra anche il percorso per Xcode 5. –

risposta

2

Ho avuto problemi con Xcode symbolicating 5 pure

così ho fatto ricorso a simbolizzare i miei simboli manualmente utilizzando atos.

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 

l'avviso sembrava interessante così ho deciso di provare xcrun Atos

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

che mi sta dando una funzione senza nome.

quindi la mia ipotesi è che Xcode 5 stia usando xcrun atos, che ha un bug.

utilizzando atos mi ha aiutato a diagnosticare il problema e correggere una correzione. Non ho installato Xcode 4. forse puoi verificare se Xcode 4 produce gli stessi risultati di atos? Ho seguito le istruzioni contenute in questo question

Sono in una buona mente di scrivere uno script per symbolicate resoconti di blocco:/

+0

Ho dovuto usare 'arm64' per forzare i simboli da compilare per tutte le categorie di bracci. Ha dato il falso errore "armv7 non trovato" fino a quando non l'ho fatto, poiché il mio dylib conteneva simboli per tutti gli archi. – EntangledLoops

2

ho avuto lo stesso problema e risolto calcolando l'indirizzo per ___lldb_unnamed_function da iOS crash reports: atos not working as expected posta.

Dopo quella corsa:

xcrun Atos -arch ARMv7 (s) -o Xyz.app.dSYM/Contents/Resources/NANO/xyz Calculated_Address

0

È necessario aver creato accumulo con Xcode 4.6 e potresti essere aggiornato a xcode 5 ora. è necessario impostare la directory dello sviluppatore xcode nella directory degli sviluppatori di xcode 4.6 affinché funzioni.

0

ho avuto questo tipo di problemi quando ho dimenticato di uscire Spark Inspector durante il debug la nostra applicazione su un dispositivo iOS 5 (come il original iPad).

0

Aveva gli stessi simboli ___lldb_unnamed_function nel registro degli arresti anomali.

È possibile ottenere le classi e i metodi effettivi da KSCrash (Third Party iOS Crash Reporter) in cui si è verificato l'arresto anomalo.
Supporta anche eccezioni C++ non rilevate!