2013-10-04 17 views
279

Mi chiedevo se qualcuno potesse dirmi cosa sta facendo Xcode quando dice "Elaborazione dei file simbolo" dopo aver collegato il dispositivo?Elaborazione di file simbolo in Xcode

Screenshot

+0

ho dovuto aspettare per molto tempo ... circa 30 minuti e successiva distribuzione sul dispositivo riusciti.Forse Mac sta prendendo tempo per riconoscere il dispositivo. –

risposta

261

scarica i simboli (di debug) dal dispositivo, in modo diventa possibile eseguire il debug su dispositivi con quella specifica versione di iOS e anche per symbolicate segnalazioni di crash che è accaduto su tale versione iOS.

Poiché i simboli sono specifici della CPU, il precedente funziona solo se i simboli sono stati importati non solo per uno specifico dispositivo iOS ma anche per un tipo specifico di CPU. I tipi di CPU attualmente necessari sono armv7 (ad esempio iPhone 4, iPhone 4s), armv7s (ad esempio iPhone 5) e arm64 (ad esempio iPhone 5s).

Quindi, se si desidera simbolizzare un rapporto di arresto anomalo che si è verificato su un iPhone 5 con armv7s e solo i simboli per armv7 per quella specifica versione di iOS, Xcode non sarà in grado di (completamente) simbolizzare il rapporto di arresto anomalo.

+19

Recentemente ho scoperto che Xcode non elaborerebbe i file di simboli dal mio iPad2 o dal mio iPhone4s. Si fermava sempre a metà e non si completava mai, neanche dopo mezz'ora. Alla fine ho avuto modo di lavorare ... scoppiando un cavo connettore completamente nuovo e collegandolo direttamente al mio Mac Mini (in precedenza ero stato collegato tramite un cavo di prolunga). Ho concluso che la scarsa connessione VERAMENTE rovina con gli aggiornamenti dei simboli. – Ash

+5

Quindi perché non raggruppare quei simboli con la distribuzione xcode? Perché passare a tutta la fatica di estrarli dal dispositivo? –

+3

I simboli per tutte le architetture sono più grandi di 1 GB di dimensione per versione (iOS) e non c'è sempre un aggiornamento Xcode per ogni versione di bugfix. Xcode viene aggiornato solo con aggiornamenti/modifiche API. – Kerni

0

Esso mette a confronto i log di crash recuperati dal dispositivo al archiviati (simboleggiato essere corretta) versione delle applicazioni per cercare di recuperare in cui il vostro codice si è verificato l'incidente.

Guarda xcode symbol file location per i dettagli

35

In Xcode Versione 6.1.1 (6A2008a), dopo "Elaborazione di file simbolo", è stata creata una cartella contenente simboli associati al dispositivo (compresa la versione di iOS e il tipo di CPU) in ~/Libreria/Sviluppatore/Xcode/iOS DeviceSupport/come questo:

enter image description here

+6

cosa era in (null) (null)? –

+6

@AntonTropashko '(null) ((null))' effettivamente. –

+6

Nel mio caso, "(null) ((null))" contenuto ... niente! – Sjakelien

0

errore fastidioso. L'ho risolto collegando il cavo direttamente all'iPad. Per qualche motivo il processo non finirebbe mai se avessi l'iPad nel supporto pass-through di Apple.

+7

Non è un errore, ma un "compito" Xcode è in elaborazione per te. – Cesare

+3

È un errore perché non avrebbe mai completa se l'avessi nel cavalletto. – GoldenJoe

+2

Riconosco che la risposta è scarsamente espressa, ma è stato davvero giusto per me, collegarmi direttamente alla porta USB risolta per me, nonostante l'hub USB stia funzionando bene per qualsiasi altra attività – jalone

18

xCodificare solo tutti i registri di arresti anomali. Se vuoi accelerare: cancella il numero di segnalazioni di crash dopo averlo analizzato, direttamente in questa finestra.

Devices -> View Device Logs -> All Logs 

screenshot

+2

Eliminazione di tutti i registri lavorati! –

+0

@QLiu Sicuro. Sembra un bug, o i log sono più grandi del previsto. – WINSergey

+0

@WoShiNiBaBa Sicuro, funziona ancora su Xcode8 – WINSergey

1

So che questa non è una soluzione tecnica, ma ho avuto il mio iPhone collegato al computer via cavo e scollegare il dispositivo dal computer e la connessione di nuovo (via cavo di nuovo) ha lavorato per me come non ho potuto risolvere con le soluzioni che vengono fornite prima.

+0

Questo potrebbe essere stato un tempismo fortunato ... o una reazione ritardata ad altre azioni che hai fatto. Ho disconnesso e ricollegato e è tornato in questa modalità fino al termine. –

4

Nel mio caso la simbolizzazione è durata per sempre. Forzo riavviare il mio telefono con entrambi i pulsanti on/off e home. Ora ho appena finito di simbolizzare e sto avviando la mia app via xcode.

0

Aggiungi versione SDK corrispondono al vostro iPhone iOS, ad esempio: IOS 10.3

percorso:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


Sta scaricando. Quando è finito, va bene. Come mostrato in figura:

enter image description here