Memproses File Simbol dalam Xcode


285

Saya bertanya-tanya apakah ada yang bisa memberi tahu saya apa yang sebenarnya dilakukan Xcode ketika dikatakan: "Memproses File Simbol" setelah mencolokkan perangkat Anda?

Tangkapan layar


Saya harus menunggu cukup lama ... sekitar 30 menit dan kemudian penyebaran perangkat berhasil. Mungkin Mac membutuhkan waktu untuk mengenali perangkat.
Jayprakash Dubey

Jawaban:


263

Ini mengunduh simbol (debug) dari perangkat, sehingga menjadi mungkin untuk melakukan debug pada perangkat dengan versi iOS tertentu dan juga untuk melambangkan laporan kerusakan yang terjadi pada versi iOS itu.

Karena simbol adalah khusus CPU, di atas hanya berfungsi jika Anda telah mengimpor simbol tidak hanya untuk perangkat iOS tertentu tetapi juga untuk jenis CPU tertentu. Jenis CPU yang dibutuhkan saat ini adalah armv7 (mis. IPhone 4, iPhone 4s), armv7s (mis. IPhone 5) dan arm64 (mis. IPhone 5s).

Jadi, jika Anda ingin melambangkan laporan kerusakan yang terjadi pada iPhone 5 dengan armv7s dan hanya memiliki simbol untuk armv7 untuk versi iOS spesifik itu, Xcode tidak akan dapat (sepenuhnya) melambangkan laporan kerusakan.


19
Baru-baru ini saya menemukan bahwa Xcode tidak akan memproses file simbol baik dari iPad2 atau iPhone4s saya. Selalu akan berhenti di tengah jalan dan tidak pernah selesai, bahkan setelah setengah jam. Pada akhirnya saya berhasil ... dengan memutuskan kabel konektor yang benar-benar baru dan menancapkannya langsung ke Mac Mini saya (sebelumnya saya telah terhubung melalui kabel ekstensi). Saya menyimpulkan bahwa koneksi yang buruk BENAR-BENAR mengacaukan pembaruan simbol.
Ash

5
Jadi mengapa tidak menggabungkan simbol-simbol tersebut dengan distribusi xcode? Mengapa harus repot-repot mengekstraksinya dari perangkat?
Matthew Exon

3
Simbol untuk semua arsitektur berukuran lebih besar dari 1GB per versi (iOS), dan tidak selalu ada pembaruan Xcode untuk setiap rilis bugfix. Xcode hanya diperbarui dengan pembaruan / perubahan API.
Kerni

@VladimirDespotovic Apa yang ingin Anda pecahkan di sini? Ini bukan masalah. Ini perlu dilakukan karena debugger membutuhkan data ini dan untuk simbolisasi macet ini juga diperlukan. Pertanyaannya juga tidak menyatakan masalah.
Kerni

36

Dalam Xcode Versi 6.1.1 (6A2008a), setelah "Memproses File Simbol", folder yang berisi simbol yang terkait dengan perangkat (termasuk versi iOS dan tipe CPU) dibuat di ~ / Library / Developer / Xcode / iOS DeviceSupport / seperti ini:

masukkan deskripsi gambar di sini


6
apa yang ada di dalam (null) (null)?
Anton Tropashko

6
@AntonTropashko (null) ((null))sebenarnya.
Alejandro Iván

6
Dalam kasus saya, "(null) ((null))" berisi ... tidak ada apa-apa!
Sjakelien

7
Karena File Sym diunduh saat diperlukan, saya membuang sebagian besar semua folder di lokasi ini. Ini membebaskan lebih dari 24 pertunjukan di SSD saya!
Sjakelien

@Sjakelien Folder diberi label dengan baik
Brad Thomas

19

xCode cukup salin semua log macet. Jika Anda ingin mempercepat: hapus jumlah laporan kerusakan setelah Anda menganalisisnya, langsung di jendela ini.

Devices -> View Device Logs -> All Logs

tangkapan layar


@ SQLiu Tentu. Sepertinya bug, atau log lebih besar dari yang diharapkan.
WINSergey

Bagaimana cara mengakses log-log ini? (Saya punya 0 pengalaman dengan xCode)
Ben

@Ben Window -> Devices -> Pilih perangkat Anda di sisi kiri -> selesai
WINSergey

4

Dalam kasus saya, simbolis berlangsung selamanya. Saya paksa restart ponsel saya dengan tombol on / off dan home. Sekarang dengan cepat selesai melambangkan dan saya mulai menjalankan aplikasi saya melalui xcode.


1

Saya tahu bahwa ini bukan solusi teknis tetapi iphone saya terhubung dengan komputer dengan kabel dan melepaskan perangkat dari komputer dan menghubungkannya lagi (dengan kabel lagi) bekerja untuk saya karena saya tidak bisa menyelesaikannya dengan solusi yang disediakan sebelumnya.


Itu mungkin waktu yang beruntung ... atau reaksi yang tertunda terhadap tindakan lain yang Anda lakukan. Saya memutus dan menghubungkan kembali dan itu kembali ke mode ini sampai selesai.
Paul Masri-Stone

0

Ini membandingkan log crash yang diambil dari perangkat ke versi aplikasi Anda yang diarsipkan (dilambangkan untuk menjadi benar) untuk mencoba diambil di mana pada kode Anda crash terjadi.

Lihat lokasi file simbol xcode untuk detailnya


0

Kesalahan yang mengganggu. Saya menyelesaikannya dengan mencolokkan kabel langsung ke iPad. Untuk beberapa alasan proses tidak akan pernah selesai jika saya memiliki iPad di stand pass through Apple.


3
Ini kesalahan karena tidak akan pernah lengkap jika saya memilikinya di mimbar.
GoldenJoe

2
Saya tahu jawabannya tidak diungkapkan dengan baik, tetapi memang benar bagi saya, menghubungkan langsung ke port usb diselesaikan untuk saya, meskipun usb-hub bekerja dengan baik untuk tugas lain
jalone

0

Tambahkan versi SDK yang sesuai dengan iPhone iOS Anda, mis: iOS 10.3

jalan:

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


Sedang mengunduh. Setelah selesai, tidak apa-apa. Seperti yang ditunjukkan pada gambar:

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.