Elaborazione di file di simboli in Xcode


285

Mi chiedevo se qualcuno potesse dirmi cosa sta realmente facendo Xcode quando dice: "Elaborazione di file di simboli" dopo aver collegato il dispositivo?

Immagine dello schermo


Ho dovuto aspettare un bel po 'di tempo ... circa 30 minuti e la successiva distribuzione sul dispositivo è riuscita. Forse il Mac sta impiegando del tempo per riconoscere il dispositivo.
Jayprakash Dubey,

Risposte:


263

Scarica i simboli (di debug) dal dispositivo, quindi diventa possibile eseguire il debug su dispositivi con quella specifica versione di iOS e anche simboleggiare i rapporti sugli arresti anomali che si sono verificati su quella versione di iOS.

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

Quindi, se vuoi simboleggiare un rapporto di arresto anomalo accaduto su un iPhone 5 con armv7s e hai solo i simboli di armv7 per quella specifica versione di iOS, Xcode non sarà in grado di simboleggiare (completamente) il rapporto di arresto anomalo.


19
Recentemente ho scoperto che Xcode non elaborava i file dei simboli dal mio iPad2 o iPhone4s. Si fermava sempre a metà strada e non si completava mai, nemmeno dopo mezz'ora. Alla fine l'ho fatto funzionare ... rompendo 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 cattiva connessione si guasta DAVVERO con gli aggiornamenti dei simboli.
Ash,

5
Quindi perché non raggruppare quei simboli con la distribuzione xcode? Perché doversi preoccupare di estrarli dal dispositivo?
Matthew Exon,

3
I simboli per tutte le architetture hanno dimensioni superiori a 1 GB per versione (iOS) e non è sempre disponibile un aggiornamento Xcode per ogni versione di correzione di bug. Xcode viene aggiornato solo con aggiornamenti / modifiche API.
Kerni,

@VladimirDespotovic Cosa vuoi risolvere qui? Questo non è un problema. Questo deve essere fatto poiché il debugger ha bisogno di questi dati e anche per la simbolizzazione del crash è necessario. La domanda inoltre non ha indicato un problema.
Kerni,

36

In Xcode versione 6.1.1 (6A2008a), dopo "Elaborazione di file di simboli", una cartella contenente i simboli associati al dispositivo (inclusi versione iOS e tipo di CPU) è stata creata in ~ / Library / Developer / Xcode / iOS DeviceSupport / in questo modo:

enter image description here


6
cosa c'era in (null) (null)?
Anton Tropashko,

6
@AntonTropashko in (null) ((null))realtà.
Alejandro Iván,

6
Nel mio caso, "(null) ((null))" conteneva ... niente!
Sjakelien,

7
Dato che i file Sym vengono scaricati quando necessario, ho spostato la maggior parte delle cartelle in questa posizione. Ha liberato oltre 24 concerti sul mio SSD!
Sjakelien,

Cartella @Sjakelien ben etichettata allora
Brad Thomas

19

xCode copia semplicemente tutti i registri degli arresti anomali. Se si desidera accelerare: eliminare il numero di segnalazioni sugli arresti anomali dopo averlo analizzato, direttamente in questa finestra.

Devices -> View Device Logs -> All Logs

screenshot


@QLiu Certo. Sembra un bug o i registri sono più grandi del previsto.
WINSergey,

Come accedere a questi registri? (Ho 0 esperienze con xCode)
Ben

@Ben Window -> Dispositivi -> Seleziona il tuo dispositivo sul lato sinistro -> fatto
WINSergey

4

Nel mio caso, simbolizzare era prendere per sempre. Forzo il riavvio del telefono con entrambi i pulsanti on / off e home. Ora ho rapidamente finito di simbolizzare e sto iniziando a eseguire la mia app tramite xcode.


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 ricollegarlo (di nuovo via cavo) ha funzionato per me in quanto non ho potuto risolverlo con le soluzioni che sono fornito prima.


Potrebbe essere stato un tempismo fortunato ... o una reazione ritardata ad altre azioni che hai intrapreso. Mi sono disconnesso e riconnesso ed è tornato in questa modalità fino al termine.
Paul Masri-Stone,

0

Confronta i registri degli arresti anomali recuperati dal dispositivo con la versione archiviata (simbolizzata per essere corretta) per provare a recuperare dove si è verificato l'arresto anomalo sul codice.

Guarda la posizione del file simbolo xcode per i dettagli


0

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


3
È un errore perché non sarebbe MAI completo se lo avessi nel supporto.
GoldenJoe,

2
Riconosco che la risposta è scarsamente espressa, ma era davvero giusto per me, collegandomi direttamente alla porta USB risolta per me, nonostante l'hub USB funzionasse bene per qualsiasi altro compito
jalone

0

Aggiungi versione SDK corrispondente al tuo iPhone iOS, ad esempio iOS 10.3

sentiero:

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


It's downloading. When it's finished, it's OK. As shown in the figure:

enter image description here

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.