ฉันกำลังพยายามที่จะแก้ปัญหาแอพที่ผิดพลาด (หรือแฮงค์) ฉันจะรับไฟล์วินิจฉัยจากความผิดพลาดได้อย่างไร
ฉันกำลังพยายามที่จะแก้ปัญหาแอพที่ผิดพลาด (หรือแฮงค์) ฉันจะรับไฟล์วินิจฉัยจากความผิดพลาดได้อย่างไร
คำตอบ:
รายงานความผิดพลาดส่วนบุคคลจะถูกเก็บไว้ใน ~ / Library / ท่อน / CrashReporter แต่มีระบบกว้างเข้าสู่ระบบเครื่องมือที่เรียกว่าคอลเลกชันsysdiagnose
เมื่อคุณเริ่มประสบปัญหาให้กดปุ่มควบคุม 4 ปุ่มค้างไว้แล้วกดจุด "" สำคัญ. shift+ control+ option+ command+.
หลังจากผ่านไปประมาณ 15 วินาทีหน้าต่าง Finder จะเปิดขึ้นพร้อมไฟล์ไฮไลต์ sysdiagnose
ช็อตคัตนี้เพียงเรียกใช้งานsysdiagnose
คำสั่งดังนั้นหากคุณคุ้นเคยกับเทอร์มินัลและต้องการส่งผ่าน ID กระบวนการคุณสามารถรับข้อมูลการดีบักขั้นสูงเกี่ยวกับโปรแกรมเฉพาะนั้นได้ คีย์ลัดเรียกเครื่องมือโดยไม่มีอาร์กิวเมนต์และรวบรวมรายงานพื้นฐานเท่านั้น
~/Library/Logs/CrashReporter
ไม่มี.crash
ไฟล์ แทน: /Library/Logs/DiagnosticReports
และ~/Library/Logs/DiagnosticReports
launchctl
คำสั่งจะเริ่มภูต
sysdiagnose
คำสั่งที่ยังมีอยู่ใน OS 10.6? ฉันไม่พบหน้าคนและwhich sysdiagnose
ไม่ส่งคืนสิ่งใดใน OS 10.6.8 หรือฉันต้องติดตั้งอย่างละเอียดหรือไม่
เชลล์สคริปต์นี้ (บน 10.8 และต่ำกว่า) และโปรแกรมที่ทำงานได้โดยใช้ชื่อเดียวกันใน 10.9:
ใน Terminal ให้เรียกใช้คำสั่งต่อไปนี้
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
จดบันทึกย่อของคอร์ดคีย์ต่อไปนี้คุณจะต้องใช้ภายหลัง:
Control- Option- Command- Shift-.
เมื่อเกิดปัญหา:
sysdiagnose
รูทีนเสร็จสมบูรณ์ - เพียงแค่รอให้นานที่สุดเท่าที่จะทำได้ (จะไม่มีการบ่งชี้ความคืบหน้าบนหน้าจอ)ในกรณีที่ไม่ค่อยเกิดขึ้นปัญหาอาจป้องกันไม่ให้ sysdiagnose ดำเนินการจนเสร็จสิ้น (ฉันได้ให้คำแนะนำในการปรับปรุงแก่ Apple) หากสิ่งนี้เกิดขึ้น - หากคุณแน่ใจว่าคุณรอมานานพอ - อาจจะต้องทำการรีสตาร์ท Mac แล้ว:
/private/var/tmp
หากไม่มีคีย์คอร์ดคุณสามารถเรียกใช้ sysdiagnose จากบรรทัดคำสั่ง (ดูด้านล่างหน้าคู่มือของ Apple) แต่ก็มักจะมีประโยชน์หรือจำเป็นกว่าในการใช้คอร์ด - ดังนั้นควรเตรียมพร้อม
ในขณะที่ฉันไม่ได้ส่งเสริมความประมาทคุณสามารถประมาทเล็กน้อยด้วยControl- Option- Command- Shift- .... หากคุณพยายามหลีกเลี่ยงfnกุญแจบนแล็ปท็อปของคุณไม่ต้องกังวล sysdiagnose
รวมทั้งมันโดยบังเอิญไม่ควรป้องกันไม่ให้การทำงานของ
คำแนะนำ: บางคนอาจต้องการถามคำถามแยกต่างหากเกี่ยวกับการวิเคราะห์ผลลัพธ์ของsysdiagnose
- คำตอบทั่วไปอาจมีประโยชน์
/tmp
พื้นที่เป็นไฟล์การแสดงตนของsysdiagnose_….tar.gz
ไฟล์บ่งชี้ว่าทุกส่วนของsysdiagnose
รูทีนเสร็จสมบูรณ์และผลลัพธ์ถูกเก็บถาวร หากคุณต้องการให้เปิดไฟล์เก็บถาวร - เนื้อหาจะปรากฏเป็นโฟลเดอร์
/tmp
พื้นที่เป็นโฟลเดอร์การแสดงตนของsysdiagnose_…
โฟลเดอร์ (ไม่ใช่.tar.gz
ไฟล์) บ่งชี้ว่า:
ไฟล์บางไฟล์สามารถอ่านได้โดยมนุษย์และอาจช่วยแก้ไขปัญหาได้
ไฟล์อื่น ๆ นั้นให้ความสำคัญกับนักพัฒนามากกว่า
ที่เกี่ยวข้อง:
สำหรับการรันที่ไม่สมบูรณ์sysdiagnose
อาจเป็นประโยชน์ในการมุ่งความสนใจไปที่ไฟล์ที่ว่างอย่างผิดปกติ ...
stackshot (1) หน้าคู่มือการใช้งาน OS X
สิ่งที่กล่าวมาข้างต้นเป็นคำตอบทั่วไปที่ได้รับการยอมรับซึ่งปรากฏที่อื่น
รับคำแนะนำจากรายการบันทึกในคอนโซล:
คาดว่าจะค้นหาไฟล์ที่เส้นทางต่อไปนี้:
Console
หากต้องการค้นหาไฟล์วินิจฉัยหรือไฟล์ขัดข้องที่มีอยู่ให้เปิดแอปคอนโซลและค้นหาไฟล์ในรายงานผู้ใช้ (อยู่ที่~/Library/Logs/DiagnosticReports
) หรือในส่วนรายงานระบบ (อยู่ที่/Library/Logs/DiagnosticReports
) ดู: ฉันจะหาบันทึกข้อขัดข้องได้ที่ไหน
sysdiagnose
ตามคำแนะนำอย่างเป็นทางการsysdiagnose
สำหรับ macOS คุณสามารถเปิดใช้งานsysdiagnose
โดย:
หมายเหตุ: ในการเข้าถึงลิงค์ด้านบนคุณจะต้องเข้าสู่เว็บไซต์ Developer Appleก่อน
กดปุ่มต่อไปนี้พร้อมกันชั่วครู่:
Command- Option- Shift- Control-Period (.)
และรอ sysdiagnose
กระบวนการสามารถใช้เวลา 10 นาทีเพื่อให้ เมื่อเสร็จแล้วFinderควรปรากฏขึ้นโดยอัตโนมัติแสดงไฟล์ที่สร้างขึ้นใน/private/var/tmp/
(เช่นsysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz
)
ทริกเกอร์sysdiagnose
จากเทอร์มินัลโดยป้อนคำสั่งนี้:
sudo sysdiagnose
ในการสร้าง crash core dumps ให้ดู: วิธีสร้าง core dumps บน macOS ได้อย่างไร