กลับไปหน้าบทความ

อ่าน 4 นาที

อุบัติเหตุ (คอมพิวเตอร์)

ในด้าน คอมพิวเตอร์ การ เกิด ข้อผิดพลาด หรือ ระบบล่ม เกิดขึ้นเมื่อโปรแกรมคอมพิวเตอร์ เช่น แอปพลิเคชันซอฟต์แวร์ หรือ ระบบปฏิบัติการ หยุดทำงานอย่างถูกต้องและ ปิดตัวลง...

อุบัติเหตุ (คอมพิวเตอร์)

ข้อความแสดงข้อผิดพลาด " Kernel Panic"บนiMacนี่คือรูปแบบความล้มเหลวของระบบปฏิบัติการที่พบบ่อยที่สุดในระบบที่คล้าย Unix

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

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

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

แอปพลิเคชันขัดข้อง

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

โดยทั่วไป แอปพลิ เคชัน จะหยุดทำงานโดยไม่คาดคิดเมื่อดำเนินการที่ไม่ได้รับอนุญาตจากระบบปฏิบัติการ จากนั้นระบบปฏิบัติการจะส่งสัญญาณเตือนหรือข้อยกเว้น ไปยังแอปพลิเค ชัน แอปพลิเคชันในระบบ Unix มักจะตอบสนองต่อสัญญาณโดย การแสดงข้อผิดพลาด ( core dump ) แอปพลิเคชัน GUIส่วนใหญ่ใน Windows และ Unix จะตอบสนองโดยการแสดงกล่องโต้ตอบ (เช่นเดียวกับที่แสดงในภาพประกอบด้านขวา) พร้อมตัวเลือกในการแนบดีบักเกอร์หากติดตั้งไว้ แอปพลิเคชันบางตัวพยายามกู้คืนจากข้อผิดพลาดและทำงานต่อไปแทนที่จะปิดตัวลง

แอปพลิเคชันยังสามารถมีโค้ดที่ทำให้หยุดทำงาน[ b ]หลังจากตรวจพบข้อผิดพลาดร้ายแรงได้ อีกด้วย

ข้อผิดพลาดทั่วไปที่ทำให้แอปพลิเคชันหยุดทำงาน ได้แก่:

เกิดข้อผิดพลาดโดยไม่คาดคิดบนhttps://dimava.github.io/shapez/modZ/

แครชแล้วเด้งออกเดสก์ท็อป

ข้อความแสดงข้อผิดพลาดมาตรฐานบนiOS

"โปรแกรมปิดตัวเองแล้วกลับไปที่เดสก์ท็อป" (CTD) คืออาการที่โปรแกรม (โดยทั่วไป คือ เกม ) ปิดตัวลงอย่างไม่คาดคิดและพาผู้ใช้กลับไปยังเดสก์ท็อป อย่างกะทันหัน โดยปกติแล้ว คำนี้จะใช้เฉพาะกับกรณีที่ไม่มีข้อผิดพลาดแสดงขึ้นมา ดังนั้นสิ่งที่ผู้ใช้เห็นหลังจากโปรแกรมปิดตัวลงก็คือเดสก์ท็อปเท่านั้น หลายครั้งที่ไม่มีการกระทำใดๆ ที่ทำให้เกิดอาการ CTD ขึ้น ในระหว่างการทำงานปกติ โปรแกรมอาจค้างเป็นช่วงเวลาสั้นๆ แล้วปิดตัวเองลง หรือในระหว่างการทำงานปกติ โปรแกรมอาจแสดงหน้าจอสีดำ และเล่น เสียงซ้ำๆ ในช่วงไม่กี่วินาทีสุดท้าย(ขึ้นอยู่กับขนาดของบัฟเฟอร์ เสียง ) ที่กำลังเล่นอยู่ก่อนที่จะปิดตัวเองลง บางครั้ง การกระทำบางอย่าง เช่น การโหลดพื้นที่ อาจทำให้เกิดอาการ CTD ได้ ตัวอย่างของข้อผิดพลาด CTD ที่ทำให้เกิดอาการนี้ สามารถพบได้ในBlender 3Dเมื่อผู้ใช้กำลังอยู่ในโหมดแก้ไข พวกเขาสามารถใช้ Ctrl+B เพื่อสร้างขอบโค้งมนได้ หากผู้ใช้ใช้ฟังก์ชันยกเลิกการกระทำ (ctrl+Z) ในระหว่างกระบวนการเลื่อนขอบด้วยเมาส์อิสระ โปรแกรมมีโอกาสสูงที่จะปิดตัวลงเนื่องจากข้อผิดพลาด CTD (Crash to Desktop)

บั๊ก CTD (Complete Dead) ถือเป็นปัญหาที่สร้างความยุ่งยากให้กับผู้ใช้งานเป็นอย่างมาก เนื่องจากมักไม่มีข้อความแสดงข้อผิดพลาด ทำให้ยากที่จะติดตามหาต้นตอของปัญหา โดยเฉพาะอย่างยิ่งหากช่วงเวลาที่เกิดปัญหาและการกระทำที่เกิดขึ้นก่อนที่เกมจะหยุดทำงานนั้นดูไม่มีรูปแบบหรือความเหมือนกันใดๆ วิธีหนึ่งในการติดตามหาต้นตอของปัญหาสำหรับเกมคือการเล่นเกมในโหมดหน้าต่าง (windowed mode ) ระบบปฏิบัติการบางเวอร์ชันอาจมีเครื่องมืออย่างน้อยหนึ่งอย่างที่ช่วยในการติดตามหาต้นเหตุของปัญหา CTD

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

เว็บเซิร์ฟเวอร์ล่ม

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

ตัวอย่างเช่น แม้ว่าเว็บเซิร์ฟเวอร์เองอาจยังคงทำงานอยู่ แต่หากฐานข้อมูลแบ็กเอนด์ (เช่น MySQL) เกิดความผิดพลาด จะทำให้เกิดความล้มเหลวในการพึ่งพา ส่งผลให้เว็บไซต์แสดงข้อผิดพลาด 500 Internal Server Errorแทนที่จะแสดงหน้าเว็บที่ร้องขอ

ระบบปฏิบัติการล่ม

หน้า จอสีน้ำเงิน แสดงข้อผิดพลาด (Blue Screen of Death) ใน Windows 10และ11
ข้อผิดพลาด Kernel Panic ที่แสดงใน OS X Mountain Lion

โดยทั่วไปแล้ว ระบบปฏิบัติการอาจล่มเมื่อ เกิด ข้อผิดพลาดทางฮาร์ดแวร์ที่ไม่สามารถแก้ไขได้นอกจากนี้ ระบบปฏิบัติการอาจล่มได้เมื่อ ระบบ ตรวจสอบความถูกต้อง ภายใน ตรวจพบว่าระบบปฏิบัติการสูญเสียความสอดคล้องภายในของตนเองไปแล้ว

ระบบปฏิบัติการ มัลติทาสกิ้งสมัยใหม่เช่นLinuxและmacOSมักจะไม่ได้รับผลกระทบเมื่อโปรแกรมแอปพลิเคชันเกิดข้อผิดพลาด

ระบบปฏิบัติการบางระบบ เช่นz/OSมีฟังก์ชันสำหรับการรักษาความน่าเชื่อถือ ความพร้อมใช้งาน และความสามารถในการให้บริการ (RAS) และระบบปฏิบัติการสามารถกู้คืนจากการทำงานผิดพลาดของส่วนประกอบที่สำคัญได้ ไม่ว่าจะเป็นเนื่องจากความล้มเหลวของฮาร์ดแวร์ เช่น ข้อผิดพลาด ECC ที่แก้ไขไม่ได้ หรือความล้มเหลวของซอฟต์แวร์ เช่น การอ้างอิงถึงเพจที่ไม่ได้กำหนดไว้

ปลายผิดปกติ

การสิ้นสุดการทำงานที่ผิดปกติ หรือ ABEND คือการยุติการทำงานของซอฟต์แวร์ อย่างไม่ปกติ หรือโปรแกรมหยุดทำงานโดยไม่คาดคิด ข้อผิดพลาดหรือการหยุดทำงานบน ระบบปฏิบัติการเครือข่าย Novell NetWare มักเรียกว่า ABEND ชุมชนของ ผู้ดูแลระบบ NetWare ได้เกิดขึ้น มากมาย บนอินเทอร์เน็ต เช่นabend.org

การใช้งานนี้มาจาก มาโคร ABENDบนระบบปฏิบัติการ IBM OS/360 , ..., z/OS โดยปกติจะเขียนด้วยตัวพิมพ์ใหญ่ แต่บางครั้งอาจเขียนเป็น "abend" รหัส ABEND ที่พบบ่อย ได้แก่ System ABEND 0C7 (ข้อยกเว้นข้อมูล) และ System ABEND 0CB ( การหารด้วยศูนย์ ) [ 1 ] [ 2 ] [ 3 ] Abend อาจเป็น "แบบอ่อน" (อนุญาตให้กู้คืนอัตโนมัติ) หรือ "แบบแข็ง" (ยุติกิจกรรม) [ 4 ]มีการกล่าวอ้างอย่างติดตลกว่าคำนี้มาจากคำภาษาเยอรมัน " Abend " ซึ่งหมายถึง "ตอนเย็น" [ 5 ]

ผลกระทบด้านความปลอดภัยและความเป็นส่วนตัวจากการเกิดข้อผิดพลาด

ขึ้นอยู่กับแอปพลิเคชัน การเกิดข้อผิดพลาดอาจมี ข้อมูลที่ละเอียดอ่อนและเป็นส่วนตัวของผู้ใช้[ 6 ]นอกจากนี้ ข้อบกพร่องของซอฟต์แวร์จำนวนมากที่ทำให้เกิดข้อผิดพลาดยังสามารถใช้ประโยชน์ในการเรียกใช้โค้ดตามอำเภอใจ และ การยกระดับสิทธิ์ประเภทอื่นๆ ได้อีกด้วย[ 7 ] [ 8 ]ตัวอย่างเช่นบัฟเฟอร์โอเวอร์โฟลว์ของสแต็กสามารถเขียนทับที่อยู่ส่งคืนของซับรูทีนด้วยค่าที่ไม่ถูกต้อง ซึ่งจะทำให้เกิดข้อผิดพลาดในการแบ่งส่วนหน่วยความจำเมื่อซับรูทีนส่งคืนค่า อย่างไรก็ตาม หากการโจมตีเขียนทับที่อยู่ส่งคืนด้วยค่าที่ถูกต้อง โค้ดในที่อยู่นั้นจะถูกเรียกใช้

การจำลองการชน

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

เมื่อมีการรวบรวมข้อผิดพลาดในภาคสนามโดยใช้ เช่นการดัมพ์พื้นที่จัดเก็บ การติดตามหรือตัวรายงานข้อผิดพลาดขั้นตอนต่อไปสำหรับนักพัฒนาคือการสามารถจำลองข้อผิดพลาดเหล่านั้นได้ในเครื่อง การจำลองข้อผิดพลาดแบบอัตโนมัติโดยทั่วไปแบ่งออกเป็นสองประเภท: วิธีการบันทึกและเล่นซ้ำ ซึ่งบันทึกการทำงานเพื่อให้สามารถเล่นข้อผิดพลาดที่บันทึกไว้ซ้ำได้แต่จะเพิ่มภาระด้านประสิทธิภาพการทำงานอย่างมาก และวิธีการวิเคราะห์หลังความล้มเหลว ซึ่งวิเคราะห์ข้อผิดพลาดหลังจากที่เกิดขึ้นแล้วเท่านั้น จึงหลีกเลี่ยงภาระดังกล่าวได้[ 9 ]สำหรับเรื่องนี้ มีเทคนิคหลายอย่าง: STAR ใช้การดำเนินการเชิงสัญลักษณ์[ 9 ] EvoCrash ทำการค้นหาเชิงวิวัฒนาการ[ 10 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^ประเภทของที่อยู่ที่ไม่ถูกต้อง ได้แก่:
  2. ^ใน OS/360 และระบบปฏิบัติการรุ่นต่อมาแอปพลิเคชันมักจะใช้ มาโคร ABENDพร้อมรหัสการเติมข้อความอัตโนมัติของผู้ใช้
  3. ^บางครั้งโปรแกรมอาจหยุดทำงานเป็นระยะๆ เนื่องจากปัญหาเรื่องเวลา เป็นต้น
  • การกู้คืนระบบหลังจากคอมพิวเตอร์ขัดข้อง
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Crash_(computing)&oldid=1360925297#Abnormal_end "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อุบัติเหตุ (คอมพิวเตอร์)

ในด้าน คอมพิวเตอร์ การ เกิด ข้อผิดพลาด หรือ ระบบล่ม เกิดขึ้นเมื่อโปรแกรมคอมพิวเตอร์ เช่น แอปพลิเคชันซอฟต์แวร์ หรือ ระบบปฏิบัติการ หยุดทำงานอย่างถูกต้องและ ปิดตัวลง...

แอปพลิเคชันขัดข้อง

โดยทั่วไป แอ ปพลิ เคชัน จะหยุดทำงานโดยไม่คาดคิดเมื่อดำเนินการที่ไม่ได้รับอนุญาตจากระบบปฏิบัติการ จากนั้นระบบปฏิบัติการจะส่งสัญญาณ เตือน หรือ ข้อยกเว้น ไปยังแอปพลิเค ชัน แอปพลิเคชันในระบบ Unix มักจะตอบสนองต่อสัญญาณโดย การแสดงข้อผิดพลาด ( core dump )...

แครชแล้วเด้งออกเดสก์ท็อป

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

เว็บเซิร์ฟเวอร์ล่ม

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