สารบัญ:
- คำจำกัดความ - Segmentation Fault (Segfault) หมายถึงอะไร
- Techopedia อธิบายการแบ่งส่วนความผิดพลาด (Segfault)
คำจำกัดความ - Segmentation Fault (Segfault) หมายถึงอะไร
การแบ่งส่วนความผิดพลาด (segfault) เป็นข้อผิดพลาดที่ส่งคืนโดยฮาร์ดแวร์พร้อมการป้องกันหน่วยความจำที่บอกระบบปฏิบัติการว่าเกิดการละเมิดการเข้าถึงหน่วยความจำ ระบบปฏิบัติการมักจะตอบสนองโดยบอกกระบวนการที่ผิดเกี่ยวกับข้อผิดพลาดผ่านสัญญาณแล้วระบบปฏิบัติการทำการแก้ไขบางอย่าง สิ่งนี้เกิดขึ้นเนื่องจากกระบวนการหรือโปรแกรมพยายามเข้าถึงหน่วยความจำที่ไม่ได้กำหนดไว้
ความผิดพลาดของการแบ่งกลุ่มหรือที่เรียกว่าการละเมิดการเข้าถึง
Techopedia อธิบายการแบ่งส่วนความผิดพลาด (Segfault)
ความผิดพลาดในการแบ่งส่วนมักจะเกิดจากข้อผิดพลาดในการเขียนโปรแกรมของกระบวนการหรือแอปพลิเคชันที่โปรแกรมนำไปสู่การเข้าถึงหน่วยความจำที่ไม่ได้จัดสรรให้ แต่สำหรับโปรแกรมอื่น ๆ หรือสำหรับระบบเอง กระบวนการไม่ได้รับอนุญาตให้สัมผัสหน่วยความจำที่ไม่ได้จองไว้เพราะจะต้องร้องขอหน่วยความจำเสมอก่อนใช้งาน ดังนั้นเมื่อสัมผัสกับหน่วยความจำที่ไม่ได้กำหนดไว้โดยบังเอิญการละเมิดการเข้าถึงเกิดขึ้น
Segfaults ยังสามารถเกิดขึ้นได้จากฟังก์ชั่นแบบเรียกซ้ำซึ่งสามารถใช้พื้นที่สแต็กทั้งหมดที่กำหนดไว้และบุกรุกอย่างรวดเร็วในหน่วยความจำที่ไม่ได้รับมอบหมาย ในบางระบบการทำเช่นนี้ถือว่าเป็นสแต็กโอเวอร์โฟลว์ แต่สำหรับบางระบบมันเป็นการละเมิดการเข้าถึง
ความผิดพลาดในการแบ่งส่วนสามารถจัดการได้โดยกระบวนการผ่านตัวจัดการสัญญาณที่กำหนดเอง แต่บ่อยครั้งที่มันเป็นตัวจัดการสัญญาณเริ่มต้นของระบบปฏิบัติการที่ใช้ซึ่งโดยทั่วไปแล้วจะส่งผลให้กระบวนการละเมิดถูกยกเลิกอย่างผิดปกติเรียกว่าผิดพลาดหรือระบบปฏิบัติการบังคับให้มีการถ่ายโอนข้อมูลหลัก .








