Core Dump คืออะไร?

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

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

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

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

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