2016-03-23 14 views
10

Puoi aiutarmi a rendere i miei incidenti simbolizzati?Come simbolizzare i crash in Xcode 7.3?

In Xcode 7.3, Finestra -> Organizer -> Arresti anomali, ho segnalazioni di arresti anomali delle mie ultime build di TestFlight. Sono stati creati su questo Mac e tutti gli archivi con i corrispondenti dSYM sono nella scheda Archivi. L'app è divisa in un numero di framework e l'app principale, e molti sono un mix di Swift e Objective C. Nel registro di crash posso vedere il nome dei framework e delle app elencati correttamente, ma tutte le voci per i miei framework e l'app è in esadecimale. UIKit è simboleggiato bene.

Quando guardo in iTunes Connect, dice "Sì" a "Include simboli" e mi consente di scaricare i dSYM. Durante la creazione, l'opzione "Formato informazioni di debug" è stata impostata su "DWARF con dSYM". Ho provato a impostare "Strip Debug Symbols Symbols During Copy" e "Strip Linked Product" su "No" per vedere se ciò ha fatto la differenza. Non è stato così.

Non riesco a trovare l'applicazione symbolicatecrash sul mio sistema, neanche in/usr/bin o /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash, ma ho un vecchio Xcode 5 dove potrei afferrarlo. Tuttavia, non risolve più i simboli.

Ho lo stesso problema in Strumenti, se profilo la mia app, UIKit è simboleggiato bene, ma i miei framework e app mostrano solo esadecimale.

So che ci sono stati un sacco di post su questo, ma non ho intenzione attraverso di loro molto dal periodo di 7.3 beta e fino ad ora e non hanno trovato una soluzione

+0

Possibile duplicato di [Nuovo XCode Crash Organizer non simboleggia file .xccrashpoint] (https://stackoverflow.com/questions/33131434/new-xcode-crash-organizer-does-not-symbolicate-xccrashpoint-files) – mychrisdangelo

risposta

2

Stesso qui. Difficoltà a trovare il simbolicatecrash dopo l'aggiornamento a 7.3.

Tuttavia, è comunque possibile utilizzare lo atos. Potete trovare il tutorial qui Symbolicate crash in iOS8 with Xcode 6 .1

0

Ho provato a copiare il file symbolicatecrash da xCode 7.2 e incollato in Xcode 7.3 nel seguente percorso:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/Current/Resources/

sto usando lo script Crasher per symbolicate le segnalazioni di crash How to use Crasher

13

La posizione symbolicatecrash è cambiato in Xcode 7.3:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

8

Dopo aver letto questo:

https://developer.apple.com/library/content/technotes/tn2151/_index.html

si scopre che l'App Store è responsabile della rappresentazione simbolica dei rapporti sugli arresti anomali provenienti da TestFlight, non da Xcode. E sembra che l'App Store sia molto inaffidabile nel farlo.

Ecco una soluzione.

  1. Vai alla scheda Archivi nella finestra "organizzatore" e fare in modo che per qualsiasi costruzione è necessario symbolicate un rapporto incidente per, hai cliccato "Scarica dSYMS ..." pulsante sopra a destra lato della pagina.Questo è necessario se stai caricando in BitCode.

  2. Collegare un dispositivo iOS in modo che venga visualizzato nella finestra "Dispositivi".

  3. Selezionare il dispositivo e fare clic su "Visualizza registri dispositivo".

  4. Ora, tornare alla finestra Organizer, selezionare la scheda "Crash" e selezionare uno dei crash che non sono stati simbolizzati.

  5. Fare clic con il tasto destro del mouse su di esso e selezionare "Mostra nel Finder".

  6. Fare clic con il tasto destro sul pacchetto .xccrashpoint rivelato e selezionare "Mostra contenuto pacchetto".

  7. Drill down in DistributionInfos -> all -> Log.

  8. Trascinare uno dei file .crash sul lato sinistro del riquadro "Visualizza registri dispositivo" aperto nella finestra Dispositivi.

  9. Attendi un secondo o due affinché Xcode simbolizzi l'arresto anomalo.

1

Non caricare i simboli con la mia applicazione, quindi l'App Store non può simbolizzare per me. Ho usato la seguente soluzione per simboleggiare tutti i crashlog che XCode scarica dal negozio. Queste istruzioni sono per XCode 8. I percorsi per l'app crash simbolize variano da versione a versione di XCode ma le idee dovrebbero essere le stesse in ogni versione.

  1. Luogo vostri simboli dove lo symbolicator li possono trovare: i tuoi simboli di file Place (.dsym) nella directory Archives. Puoi trovarlo andando in Organizer, facendo clic con il pulsante destro del mouse su un archivio e scegliendo "Mostra nel Finder". Passare alla directory degli archivi (ad esempio /Users/USERNAME/Library/Developer/Xcode/Archives) e posizionare il file dsym lì. Può essere in altre posizioni, è solo che ho verificato che questo funziona.
  2. Scaricare i registri di arresti anomali: In XCode, assicurarsi di aver scaricato i crashlog per la build che si desidera simbolizzare (Organizer-> Crash, fare clic sulla propria app e quindi scegliere la versione della app nel pannello a destra dell'elenco di app).
  3. Individuare i registri di arresti anomali sul disco: Nel pannello con la versione dell'app e il numero di build, fare clic con il pulsante destro del mouse su uno degli arresti anomali e scegliere "Mostra nel Finder". Navigate fino alla "Cartella crash" e notare che questa posizione ad esempio: /Users/USERNAME/Library/Developer/Xcode/Products/com.company-name.Your-App/VERSION/Crashes
  4. DEVELOPER_DIR installazione per symbolicatecrash sulla riga di comando: Aprire una finestra di terminale e del CD alla directory di crash dal punto 3 e impostare il DEVELOPER_DIR in questo modo: cd /Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/ export set DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    (questa dovrebbe essere la posizione della directory "Sviluppatore" all'interno del pacchetto di app XCode).
  5. Individuare lo script symbolicatecrash: symbolicatecrash sa come trovare i log del crash simbolico utilizzando il dsym del passaggio 1. Apple lo sposta dalla versione alla versione di xcode. Puoi trovarlo in questo modo: find /Applications/Xcode.app/ -name symbolicatecrash.In XCode 8, è in /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
  6. Backup di crash cartella Si consiglia di eseguire il backup della cartella crash (/Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/)
  7. Symbolicate tutti i crash: Assicurarsi che non si è ancora nella directory crash da passaggio 4 e digitare
    for i in `find . -type f -name \*.crash`; do cat $i | /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash --output $i.sym; mv $i.sym $i; done;
    Questo simbolizza ciascun file .crash in un file di output e quindi lo copia nuovamente sul file originale non formattato.
  8. View si blocca Ritorna l'organizzatore crash e visualizzare i crash symbolicated
0

Secondo la documentazione di Xcode 9.0:

crash Organizzatore symbolicates tronchi unsymbolicated, se sono selezionato, utilizzando un .dSYM locale indicizzato da Spotlight. (22550064)

È possibile controllare di più su questo in Xcode's Documentation.

Problemi correlati