Computer >> คอมพิวเตอร์ >  >> ระบบ >> MAC

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

แอพขัดข้องบน Mac นั้นค่อนข้างหายาก แต่เมื่อมันเกิดขึ้น คุณอาจต้องการติดตามสาเหตุของพวกเขา และหากคุณเป็นนักพัฒนาซอฟต์แวร์ คุณต้องเข้าใจสาเหตุที่แอปของคุณขัดข้อง ต่อไปนี้เป็นวิธีอ่านรายงานข้อขัดข้องของ macOS และจัดเรียงภาษาที่คลุมเครือ

การเปิดรายงานข้อขัดข้อง

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

เมื่อแอพขัดข้องบน Mac ของคุณ แอพจะสร้างรายงานข้อขัดข้องโดยอัตโนมัติ คุณจะเห็นสิ่งนี้ปรากฏขึ้นหลังจากการหยุดทำงานพร้อมกล่องโต้ตอบคำเตือนว่า “[แอป] ออกโดยไม่คาดคิด ” รายงานข้อขัดข้องนั้นพร้อมให้อ่านทันทีในหน้าต่างนั้นโดยคลิกปุ่ม “รายงาน …” รายงานข้อขัดข้องยังอยู่ในแอป Console

1. เปิดแอปพลิเคชัน Console โดยพิมพ์ “Console” ลงใน Spotlight หรือไปที่ “Application -> Utilities -> Console.app”

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

2. คลิก "รายงานผู้ใช้" ในเมนูด้านซ้าย จากนั้นคลิกรายงานข้อขัดข้องที่คุณต้องการดู ไฟล์ทั้งหมดเหล่านี้จะลงท้ายด้วย ".crash" และรวมวันที่และแอปพลิเคชันที่ขัดข้องในชื่อ รายละเอียดของรายงานข้อขัดข้องอยู่ในบานหน้าต่างด้านขวา

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

การอ่านรายงานข้อขัดข้องของ macOS

มาดูรายงานข้อขัดข้องจากบนลงล่างกัน

อะไรพัง?

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

ส่วนแรกของรายงานข้อขัดข้องจะบอกคุณว่า "กระบวนการ" หรือแอปพลิเคชันใดขัดข้อง ส่วนที่สำคัญที่สุดสำหรับเครื่องมือแก้ปัญหาทั่วไปคือชื่อกระบวนการ

Process: aText [11473]
Path: /Applications/aText.app/Contents/MacOS/aText
Identifier: com.trankynam.aText
Version: 2.19 (62)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: aText [11473]
User ID: 501

พังเมื่อไหร่

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

ส่วนที่สองบอกเราเมื่อเกิดการชน นอกจากนี้ยังให้ข้อมูลเล็กน้อยเกี่ยวกับระบบของคุณ

Date/Time: 2018-03-15 00:58:10.552 -0400
OS Version: Mac OS X 10.12.6 (16G1036)
Report Version: 12
Anonymous UUID: 6C985CFD-6975-3F30-50EB-0713315F5090
 
Time Awake Since Boot: 630000 seconds
 
System Integrity Protection: enabled

เหตุใดจึงเกิดความผิดพลาด

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

ส่วนต่อไปคือการส่องสว่างมากที่สุด ”ประเภทข้อยกเว้น” ที่แอปพลิเคชันจัดเตรียมไว้จะบอกเราว่าเหตุใดจึงเกิดข้อขัดข้อง บันทึกยังรายงานว่าเธรดใดขัดข้อง:ในกรณีนี้ เธรด 0

Crashed Thread: 0 Dispatch queue: com.apple.main-thread
 
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000040dedeadbec0
Exception Note: EXC_CORPSE_NOTIFY
 
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

Apple แสดงรายการข้อยกเว้นทั่วไปบางประเภทในเอกสารทางเทคนิค:

  • การเข้าถึงหน่วยความจำไม่ถูกต้อง (EXC_BAD_ACCESS / SIGSEGV / SIGBUS ) – โปรแกรมพยายามเข้าถึงหน่วยความจำอย่างไม่ถูกต้องหรือที่อยู่ที่ไม่ถูกต้อง ต่อท้ายด้วยรหัสที่อธิบายปัญหาหน่วยความจำ
  • ทางออกที่ผิดปกติ (EXC_CRASH / SIGABRT ) – ทางออกที่ผิดปกติ โดยทั่วไปจะอยู่ในมือของข้อยกเว้น C++ ที่ไม่ถูกตรวจจับและเรียกใช้ abort()
  • กับดักการติดตาม (EXC_BREAKPOINT / SIGTRAP ) – เช่นเดียวกับ SIGABRT แต่ทางออกนี้ทำให้ดีบักเกอร์ที่แนบมามีโอกาสที่จะขัดจังหวะกระบวนการที่จุดพักและติดตามข้อผิดพลาด
  • คำสั่งที่ผิดกฎหมาย (EXC_BAD_INSTRUCTION / SIGILL ) – การประมวลผลออกคำสั่งที่ไม่เข้าใจหรือไม่สามารถดำเนินการได้
  • เลิก (SIGQUIT ) – กระบวนการถูกยกเลิกโดยกระบวนการอื่นที่มีสิทธิ์เพียงพอ โดยปกติ กระบวนการเฝ้าระวังจะยุติกระบวนการทำงานผิดปกติ
  • ถูกฆ่า (SIGKILL ) – กระบวนการถูกยกเลิกตามคำขอของระบบ รหัสการสิ้นสุดจะถูกเพิ่มต่อท้ายเพื่ออธิบายข้อยกเว้น

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

อะไรทำให้เกิดความผิดพลาด

วิธีอ่านรายงานข้อขัดข้องของ macOS เพื่อแก้ไขปัญหา Mac ของคุณ

หลังจากนั้น เราจะเห็นรายการตามลำดับเวลาย้อนกลับของสิ่งที่นำไปสู่การชน เหล่านี้ถูกจัดเรียงตามเธรด เริ่มต้นด้วยเธรด 0

รายงานนี้มีสี่คอลัมน์ รายการแรกรายงานหมายเลขของเหตุการณ์ตามลำดับเวลาย้อนกลับ โดยเริ่มต้นที่ 0 รายการที่สองคือตัวระบุของกระบวนการ ที่สามคือที่อยู่ของกระบวนการในหน่วยความจำ ที่สี่คือชื่องานของโปรแกรม

“การย้อนรอย” นี้อาจค่อนข้างทำให้งงงัน เป็น "สัญลักษณ์" ซึ่งหมายความว่าที่อยู่หน่วยความจำบางส่วนถูกแทนที่ด้วยชื่อฟังก์ชันหรืองานแอปพลิเคชัน บางครั้งสิ่งนี้ไม่สามารถทำได้อย่างสมบูรณ์ ทำให้ที่อยู่หน่วยความจำที่อ่านไม่ได้กระจัดกระจายอยู่ในรายงาน

เราเห็นสิ่งนี้ในรายงานข้อขัดข้องด้านบน:com.trankynam.aText ไม่ได้เป็นสัญลักษณ์ แม้จะมีสัญลักษณ์ครบถ้วน แต่ก็อาจเป็นเรื่องยากที่จะอ่านย้อนหลัง บางครั้งนักพัฒนามีบันทึกที่เป็นประโยชน์เกี่ยวกับงานและกิจกรรมของแอปพลิเคชัน บางครั้งอาจเป็นชื่อที่คลุมเครือหรือเป็นรหัสตัวเลข หากคุณเข้าใจสัญลักษณ์ดังกล่าวได้ คุณก็จะสามารถเข้าใจสิ่งที่เกิดขึ้นได้ แต่เท่าที่เป็นไปได้คุณจะต้องเข้ารหัสแอปพลิเคชันด้วยตัวเองเพื่อให้เข้าใจถึงการติดตามย้อนกลับ

บทสรุป:สิ่งนี้มีประโยชน์หรือไม่

หากคุณเป็นนักพัฒนาซอฟต์แวร์ การอ่านรายงานข้อขัดข้องเป็นสิ่งสำคัญ ช่วยให้คุณเข้าใจว่าส่วนใดของแอปพลิเคชันของคุณขัดข้องและเพราะเหตุใด หากคุณเป็นผู้ใช้ ก็ไม่มีประโยชน์อะไร แต่หากคุณพบข้อขัดข้องอย่างต่อเนื่อง รายงานข้อขัดข้องสามารถช่วยคุณแก้ไขปัญหาหรือทำงานร่วมกับนักพัฒนาเพื่อแก้ไขปัญหา คุณอาจได้รับรหัสข้อผิดพลาดที่เป็นประโยชน์ต่อ Google หรือสามารถให้ข้อมูลที่ถูกต้องแก่ฝ่ายสนับสนุนด้านเทคนิค หากต้องการรายละเอียดที่เต็มไปด้วยเลือด คุณสามารถอ่านข้อมูลทั้งหมดได้ในหมายเหตุทางเทคนิคของ Apple เกี่ยวกับการขัดข้อง