ฉันกำลังพยายามที่จะแก้ปัญหาแอพที่ผิดพลาด (หรือแฮงค์) ฉันจะรับไฟล์วินิจฉัยจากความผิดพลาดได้อย่างไร
ฉันกำลังพยายามที่จะแก้ปัญหาแอพที่ผิดพลาด (หรือแฮงค์) ฉันจะรับไฟล์วินิจฉัยจากความผิดพลาดได้อย่างไร
คำตอบ:
รายงานความผิดพลาดส่วนบุคคลจะถูกเก็บไว้ใน ~ / 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 ได้อย่างไร