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.