การประมวลผลไฟล์สัญลักษณ์ใน Xcode


285

ฉันสงสัยว่าถ้าใครสามารถบอกฉันได้ว่า Xcode กำลังทำอะไรอยู่เมื่อมันบอกว่า: "กำลังประมวลผลไฟล์สัญลักษณ์" หลังจากเสียบอุปกรณ์ของคุณ?

ภาพหน้าจอ


ฉันต้องรอเป็นเวลานาน ... ประมาณ 30 นาทีและการใช้งานบนอุปกรณ์ในภายหลังสำเร็จ บางที Mac อาจต้องใช้เวลาในการจดจำอุปกรณ์
Jayprakash Dubey

คำตอบ:


263

มันดาวน์โหลดสัญลักษณ์ (debug) จากอุปกรณ์ดังนั้นจึงเป็นไปได้ที่จะดีบักบนอุปกรณ์ที่มีรุ่น iOS ที่เฉพาะเจาะจงและยังเป็นสัญลักษณ์รายงานความผิดพลาดที่เกิดขึ้นในเวอร์ชัน iOS นั้น

เนื่องจากสัญลักษณ์เป็น CPU ที่เฉพาะเจาะจงข้างต้นใช้งานได้เฉพาะเมื่อคุณนำเข้าสัญลักษณ์ไม่เพียง แต่สำหรับอุปกรณ์ iOS ที่เฉพาะเจาะจง แต่ยังสำหรับประเภทของ CPU ที่เฉพาะเจาะจง ประเภทของ CPU ที่จำเป็นในปัจจุบันคือ armv7 (เช่น iPhone 4, iPhone 4s), armv7s (เช่น iPhone 5) และ arm64 (เช่น iPhone 5s)

ดังนั้นหากคุณต้องการเป็นสัญลักษณ์ของรายงานความผิดพลาดที่เกิดขึ้นบน iPhone 5 ที่มี armv7s และมีเพียงสัญลักษณ์สำหรับ armv7 สำหรับ iOS เวอร์ชันนั้น Xcode จะไม่สามารถเป็นสัญลักษณ์ของรายงานความล้มเหลวได้อย่างสมบูรณ์


19
ฉันเพิ่งพบว่า Xcode จะไม่ประมวลผลไฟล์สัญลักษณ์จาก iPad2 หรือ iPhone4 ของฉัน เสมอมันจะหยุดกลางคันและไม่สมบูรณ์แม้กระทั่งหลังจากครึ่งชั่วโมง ในตอนท้ายฉันได้มันไปใช้งาน ... โดยแยกสายเคเบิลตัวเชื่อมต่อใหม่ทั้งหมดแล้วเสียบเข้ากับ Mac Mini ของฉันโดยตรง (ก่อนหน้านี้ฉันเสียบเข้ากับสายต่อ) ฉันสรุปว่าการเชื่อมต่อที่ไม่ดีจริงๆยุ่งกับการปรับปรุงสัญลักษณ์
Ash

5
ดังนั้นทำไมไม่รวมสัญลักษณ์เหล่านั้นด้วยการแจกแจง xcode? ทำไมถึงมีปัญหาทั้งหมดในการแยกไฟล์ออกจากอุปกรณ์
Matthew Exon

3
สัญลักษณ์สำหรับสถาปัตยกรรมทั้งหมดมีขนาดใหญ่กว่า 1GB ต่อรุ่น (iOS) และไม่มีการอัปเดต Xcode สำหรับการแก้ไขข้อบกพร่องแต่ละครั้ง Xcode กำลังอัปเดตด้วยการอัปเดต / เปลี่ยนแปลง API เท่านั้น
Kerni

@VladimirDespotovic คุณต้องการแก้ไขอะไรที่นี่? นี่ไม่ใช่ปัญหา. สิ่งนี้จะต้องทำในขณะที่ดีบักเกอร์ต้องการข้อมูลนี้และสำหรับสัญลักษณ์ความผิดพลาดก็จำเป็นเช่นกัน คำถามก็ไม่ได้ระบุปัญหา
Kerni

36

ใน Xcode เวอร์ชัน 6.1.1 (6A2008a) หลังจาก "Processing Symbol Files" โฟลเดอร์ที่มีสัญลักษณ์ที่เกี่ยวข้องกับอุปกรณ์ (รวมถึงเวอร์ชั่น iOS และประเภท CPU) ถูกสร้างขึ้นใน ~ / Library / Developer / Xcode / iOS DeviceSupport / เช่นนี้:

ป้อนคำอธิบายรูปภาพที่นี่


6
สิ่งที่อยู่ใน (null) (null)
Anton Tropashko

6
@AntonTropashko (null) ((null))จริง
Alejandro Iván

6
ในกรณีของฉัน "(null) ((null))" ไม่มี ... ไม่มีอะไร!
Sjakelien

7
เนื่องจากมีการดาวน์โหลดไฟล์ Sym เมื่อจำเป็นฉันจึงทิ้งโฟลเดอร์ส่วนใหญ่ทั้งหมดในตำแหน่งนี้ มันปลดปล่อยมากกว่า 24 กิ๊กบน SSD ของฉัน!
Sjakelien

@Sjakelien โฟลเดอร์ที่มีป้ายกำกับดีแล้ว
Brad Thomas

19

xCode เพียงแค่คัดลอกบันทึกข้อขัดข้องทั้งหมด หากคุณต้องการเร่งความเร็ว: ลบจำนวนรายงานข้อขัดข้องหลังจากวิเคราะห์วิเคราะห์โดยตรงในหน้าต่างนี้

Devices -> View Device Logs -> All Logs

ภาพหน้าจอ


@QLiu แน่นอน ดูเหมือนว่าบั๊กหรือบันทึกจะใหญ่กว่าที่คาดไว้
WINSergey

จะเข้าถึงบันทึกเหล่านี้ได้อย่างไร (ฉันมีประสบการณ์ 0 ครั้งกับ xCode)
Ben

@Ben Window -> อุปกรณ์ -> เลือกอุปกรณ์ของคุณที่ด้านซ้าย -> เสร็จแล้ว
WINSergey

4

ในกรณีของฉันเป็นสัญลักษณ์ใช้เวลาตลอดไป ฉันบังคับให้รีสตาร์ทโทรศัพท์ด้วยปุ่มเปิด / ปิดและปุ่มโฮม ตอนนี้การทำสัญลักษณ์เสร็จอย่างรวดเร็วและฉันเริ่มเรียกใช้แอพของฉันผ่าน xcode


1

ฉันรู้ว่านี่ไม่ใช่วิธีแก้ปัญหาทางเทคนิค แต่ฉันมี iphone ของฉันเชื่อมต่อกับคอมพิวเตอร์ด้วยสายเคเบิลและถอดอุปกรณ์จากคอมพิวเตอร์และเชื่อมต่ออีกครั้ง (โดยสายเคเบิลอีกครั้ง) ทำงานให้ฉันเพราะฉันไม่สามารถแก้ไขได้ด้วยโซลูชั่นที่ ให้มาก่อน


นั่นอาจเป็นเวลาที่โชคดี ... หรือมีปฏิกิริยาตอบสนองช้าต่อการกระทำอื่น ๆ ที่คุณทำ ฉันยกเลิกการเชื่อมต่อและเชื่อมต่อใหม่และมันกลับเข้าสู่โหมดนี้จนกว่าจะเสร็จสิ้น
Paul Masri-Stone

0

โดยจะเปรียบเทียบบันทึกข้อผิดพลาดที่ดึงมาจากอุปกรณ์เพื่อเก็บเวอร์ชันแอปพลิเคชันของคุณ (เป็นสัญลักษณ์ว่าถูกต้อง) เพื่อพยายามเรียกดูตำแหน่งที่รหัสของคุณเกิดความผิดพลาด

ดูตำแหน่งไฟล์สัญลักษณ์ xcodeเพื่อดูรายละเอียด


0

ข้อผิดพลาดที่น่ารำคาญ ฉันแก้ไขมันโดยเสียบสายเคเบิลเข้ากับ iPad โดยตรง ด้วยเหตุผลบางอย่างกระบวนการจะไม่เสร็จสิ้นหากฉันมี iPad ในขาตั้ง pass-through ของ Apple


3
มันเป็นข้อผิดพลาดเพราะมันจะไม่สมบูรณ์ถ้าฉันมีมันในขาตั้ง
GoldenJoe

2
ฉันรู้ว่าคำตอบนั้นแสดงออกมาไม่ดี แต่มันก็ใช่สำหรับฉันการเชื่อมต่อโดยตรงกับพอร์ต usb ที่ได้รับการแก้ไขสำหรับฉันแม้จะมี usb-hub ทำงานได้ดีสำหรับงานอื่น ๆ ก็ตาม
jalone

0

เพิ่มเวอร์ชั่น SDK สอดคล้องกับ iPhone iOS ของคุณเช่น: iOS 10.3

เส้นทาง:

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


มันกำลังดาวน์โหลด เมื่อเสร็จแล้วก็ไม่เป็นไร ดังแสดงในรูป:

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.