มีบันทึกข้อขัดข้องที่สร้างโดย iPhone Simulator หรือไม่?
Simulator ล้มเหลวมาก แต่ไม่ทิ้งร่องรอยใด ๆ ในคอนโซล ... บันทึกข้อขัดข้องจะเป็นประโยชน์
มีบันทึกข้อขัดข้องที่สร้างโดย iPhone Simulator หรือไม่?
Simulator ล้มเหลวมาก แต่ไม่ทิ้งร่องรอยใด ๆ ในคอนโซล ... บันทึกข้อขัดข้องจะเป็นประโยชน์
คำตอบ:
คอนโซลจะแสดงNSLog()
ผลลัพธ์จากแอปที่ทำงานในโปรแกรมจำลอง บันทึกข้อขัดข้องจะถูกบันทึกลงในไฟล์
ฉันพบบางส่วนในไดเรกทอรีบ้านของฉันภายใต้
~/Library/Logs/DiagnosticReports/
พวกเขามีนามสกุลไฟล์ .crash
สิ่งที่ฉันยังไม่ทราบคือจะทำอย่างไรให้พวกมันสร้างแม้ว่าดีบั๊กจะจับEXC_BAD_ACCESS
สัญญาณได้
อัปเดต
ปัจจุบัน (OSX 10.11.6) บันทึก .crash ใน~/Library/Logs/DiagnosticReports
, เมื่อจำลองตัวเองล้มเหลว บันทึกสำหรับแอปที่ขัดข้อง (แต่อุปกรณ์จำลองยังทำงานได้ดี) อยู่ใน:
~ / Library / Logs / CoreSimulator
ต่อความผิดพลาดมีโฟลเดอร์ย่อยที่มีรหัสเฉพาะ จัดเรียงตามวันที่เพื่อให้ข้อขัดข้องล่าสุดของคุณเป็นโฟลเดอร์ย่อยแรก ภายในที่เริ่มต้นด้วยการมองหาที่และstderr.log
system.log
นอกจากนี้โดยตรงภายใต้CoreSimulator
ดูและCoreSimulator.log
Simulator.log
~/Library/Logs/DiagnosticReports/
ฉันค่อนข้างมั่นใจว่าคุณจะเห็นสิ่งนี้ในแอพ OS X Console ที่อยู่ในยูทิลิตี้ ถ้าฉันผิดอย่าลืมลงคะแนนให้ฉันด้วยดังนั้นฉันจึงลบสิ่งนี้ออก
อัพเดท:
โดยเฉพาะ (ณ OSX 10.11.6)
เมื่อแอปขัดข้องในโปรแกรมจำลองโฟลเดอร์ย่อย (ที่มีรหัสเฉพาะ) จะถูกเพิ่มใน:
~ / Library / Logs / CoreSimulator
ภายในที่เริ่มต้นด้วยการตรวจสอบและstderr.log
system.log
เมื่อตัวจำลองเกิดปัญหาขึ้นโฟลเดอร์ย่อยจะถูกเพิ่มใน:
~ / Library / Logs / DiagnosticReports
อย่าสับสนกับเส้นทางนี้
/ ห้องสมุด / บันทึก
(ขาด~
ตั้งแต่เริ่มต้น) ซึ่งมีรายงานที่แตกต่างกันเกี่ยวกับ mac ของคุณ
นี่คือสิ่งที่ใช้ได้ผลสำหรับฉันในกรณีพิเศษ ... แอปของฉันขัดข้องกับ SIGKILL เมื่อถูกยุติ ฉันจะเห็นข้อยกเว้นใน main.m สองสามวินาทีจากนั้นแอปจะยุติการทำงาน - ดังนั้นจึงไม่มีโอกาสได้รับการติดตามย้อนกลับ
ฉันค้นหาข้อมูลมากมายเกี่ยวกับ“ เครื่องจำลองเก็บบันทึกข้อขัดข้องไว้ที่ไหน” และไม่เคยหาคำตอบได้เลย อย่างไรก็ตามเคล็ดลับต่อไปนี้มีประโยชน์มากและฉันสามารถคว้าบันทึกความผิดพลาดได้ทันที:
โดยทั่วไปให้เปิด /Applications/Utilities/CrashReporterPrefs.app และเปลี่ยนการตั้งค่าเป็น“ Developer” สิ่งนี้จะทำให้ CrashReporter แสดงป๊อปอัปพร้อมกับบันทึกข้อขัดข้องหลังจากที่แอปของคุณขัดข้อง
ฉันพบสิ่งนี้ในส่วน“ การดู iOS Simulator Console และ Crash Logs” ในเอกสารนี้จาก Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application html
บันทึกข้อขัดข้องจะปรากฏใน ~ / Library / Logs / CrashReporter
เมื่อ Xcode ได้รับบันทึกข้อขัดข้องจากอุปกรณ์ที่เชื่อมต่อจะจัดเก็บไว้ในโฟลเดอร์ย่อยของ ~ / Library / Logs / CrashReporter / MobileDevice
นี่น่าเชื่อถือกว่ามาก เพียงไม่กี่ขั้นตอนฉันก็สามารถค้นหาหมายเลขบรรทัดต้นทางและชื่อวิธีการ:
สำหรับฉันมันเป็นนิพจน์ที่ฉันได้เพิ่มลงในหน้าต่างนาฬิกาดีบักเกอร์ เมื่อเบรกพอยต์ได้รับผลกระทบการแสดงออกที่ไม่ดีทำให้ XCode เบี่ยงเบนไป
คุณอาจต้องการดูคำตอบที่เกี่ยวข้องนี้: https://stackoverflow.com/a/14984297/679240
คำตอบข้างต้นไม่สามารถใช้ได้กับระบบปฏิบัติการเวอร์ชัน "Big Sur" วิธีเดียวที่จะค้นหาบันทึกคือผ่านแอป "คอนโซล" (แอปพลิเคชัน / ยูทิลิตี้ / คอนโซล)