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

อ่าน 7 นาที

การดัมพ์แกนหลัก

ใน ด้านคอมพิวเตอร์ core dump [ a ] memory dump , crash dump , storage dump , system dump หรือ ABEND dump [ 1 ] ประกอบด้วยสถานะที่บันทึกไว้ของ หน่วยความจำ ใช้งาน ของ...

การดัมพ์แกนหลัก

ในด้านคอมพิวเตอร์ core dump [ a ] memory dump , crash dump , storage dump , system dumpหรือABEND dump [ 1 ]ประกอบด้วยสถานะที่บันทึกไว้ของหน่วยความจำ ใช้งาน ของโปรแกรมคอมพิวเตอร์ณ เวลาใดเวลาหนึ่ง โดยทั่วไปคือเมื่อโปรแกรมเกิดข้อผิดพลาดหรือสิ้นสุดการทำงานอย่างผิดปกติ[ 2 ] ในทางปฏิบัติ มักจะมีการดัมพ์ข้อมูลสถานะโปรแกรม ที่สำคัญอื่นๆ ในเวลาเดียวกันด้วย เช่นรีจิสเตอร์ของโปรเซสเซอร์ซึ่งอาจรวมถึงตัวนับโปรแกรมและตัวชี้สแต็กข้อมูลการจัดการหน่วยความจำ และแฟล็กและข้อมูลอื่นๆ ของโปรเซสเซอร์และระบบปฏิบัติการsnapshot dump (หรือsnap dump ) คือการดัมพ์หน่วยความจำที่ร้องขอโดยผู้ใช้งานคอมพิวเตอร์หรือโปรแกรมที่กำลังทำงานอยู่ หลังจากนั้นโปรแกรมจะสามารถทำงานต่อไปได้ core dump มักใช้เพื่อช่วยในการวินิจฉัยและแก้ไขข้อผิดพลาดในโปรแกรมคอมพิวเตอร์

ในระบบปฏิบัติการหลายระบบข้อผิดพลาดร้ายแรงในโปรแกรมจะทำให้เกิดการสร้าง core dump โดยอัตโนมัติ ดังนั้น วลี "to dump core" จึงมีความหมายในหลายกรณีว่า ข้อผิดพลาดร้ายแรงใดๆ ก็ตาม ไม่ว่าจะมีบันทึกหน่วยความจำของโปรแกรมอยู่หรือไม่ก็ตาม คำว่า "core dump", "memory dump" หรือเพียงแค่ "dump" ก็กลายเป็นศัพท์เฉพาะที่ใช้บ่งชี้การส่งออกข้อมูลดิบจำนวนมากเพื่อการตรวจสอบเพิ่มเติมหรือเพื่อวัตถุประสงค์อื่นๆ[ 3 ] [ 4 ]

พื้นหลัง

ชื่อนี้มาจากหน่วยความจำแกนแม่เหล็ก [ 5 ] [ 6 ]ซึ่งเป็นรูปแบบหลักของหน่วยความจำเข้าถึงแบบสุ่มตั้งแต่ช่วงปี 1950 ถึง 1970 ชื่อนี้ยังคงใช้กันอยู่แม้เทคโนโลยีแกนแม่เหล็กจะล้าสมัยไปแล้ว ก็ตาม

คอร์ดัมพ์รุ่นแรกๆ เป็นเอกสารพิมพ์[ 7 ] ของเนื้อหาหน่วยความจำ โดยทั่วไปจะจัดเรียงเป็นคอลัมน์ของ ตัวเลข ฐานแปดหรือ ฐาน สิบหก (เรียกว่า " เฮกซ์ดัมพ์ ") บางครั้งอาจมีการตีความเป็น คำสั่ง ภาษาเครื่องสตริงข้อความ หรือตัวเลขฐานสิบหรือจุดลอยตัว ( ดู ดิสแอสเซมเบลอร์ )

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

แทนที่จะแสดงเฉพาะเนื้อหาของหน่วยความจำที่เกี่ยวข้อง ระบบปฏิบัติการสมัยใหม่โดยทั่วไปจะสร้างไฟล์ที่มีภาพของหน่วยความจำที่เป็นของกระบวนการที่เกิดข้อผิดพลาด หรือภาพหน่วยความจำของส่วนต่างๆ ของพื้นที่แอดเดรสที่เกี่ยวข้องกับกระบวนการนั้น พร้อมกับข้อมูลอื่นๆ เช่น ค่าของรีจิสเตอร์โปรเซสเซอร์ ตัวนับโปรแกรม แฟล็กของระบบ และข้อมูลอื่นๆ ที่เป็นประโยชน์ในการพิจารณาสาเหตุหลักของการเกิดข้อผิดพลาด ไฟล์เหล่านี้สามารถดูเป็นข้อความ พิมพ์ หรือวิเคราะห์ด้วยเครื่องมือเฉพาะทาง เช่น elfdump บน ระบบ Unixและ ระบบ ที่คล้าย Unix , objdumpและkdumpบนLinux , IPCS (Interactive Problem Control System) บน IBM z/OS , [ 8 ] DVF (Dump Viewing Facility) บน IBM z/VM , [ 9 ] WinDbgบน Microsoft Windows, Valgrindหรือดีบักเกอร์อื่นๆ

ในระบบปฏิบัติการบางระบบ[ b ]แอปพลิเคชันหรือผู้ใช้งานอาจร้องขอสแนปช็อตของบล็อกพื้นที่จัดเก็บข้อมูลที่เลือกไว้ แทนที่จะเป็นพื้นที่จัดเก็บข้อมูลทั้งหมดที่แอปพลิเคชันหรือระบบปฏิบัติการใช้งาน

การใช้งาน

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

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

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

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

การบันทึกข้อมูลแบบ Snap dump บางครั้งเป็นวิธีที่สะดวกสำหรับแอปพลิเคชันในการบันทึกเอาต์พุตการดีบักอย่างรวดเร็วและไม่ซับซ้อน

การวิเคราะห์

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

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

ใน ระบบปฏิบัติการ ที่คล้าย Unix ในปัจจุบัน ผู้ดูแลระบบและโปรแกรมเมอร์สามารถอ่านไฟล์ core dump ได้โดยใช้ไลบรารี GNU Binutils Binary File Descriptor (BFD) และโปรแกรมดีบัก GNU (gdb) และ objdump ที่ใช้ไลบรารีนี้ ไลบรารีนี้จะให้ข้อมูลดิบสำหรับที่อยู่เฉพาะในพื้นที่หน่วยความจำจากไฟล์ core dump โดยจะไม่ทราบข้อมูลใดๆ เกี่ยวกับตัวแปรหรือโครงสร้างข้อมูลในพื้นที่หน่วยความจำนั้น ดังนั้นแอปพลิเคชันที่ใช้ไลบรารีในการอ่านไฟล์ core dump จะต้องกำหนดที่อยู่ของตัวแปรและกำหนดโครงสร้างของข้อมูลด้วยตนเอง เช่น โดยใช้ตารางสัญลักษณ์สำหรับโปรแกรมที่กำลังทำการดีบัก

นักวิเคราะห์ข้อมูลการดัมพ์ข้อผิดพลาดจากระบบLinux สามารถใช้ kdumpหรือ Linux Kernel Crash Dump (LKCD) ได้ [ 10 ]

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

นอกจากนี้ Core ยังสามารถถูกถ่ายโอนไปยังโฮสต์ระยะไกลผ่านเครือข่ายได้ (ซึ่งเป็นความเสี่ยงด้านความปลอดภัย) [ 11 ]

OS/360 ได้แนะนำโปรแกรมช่วยบริการIMDPRDMPเพื่อพิมพ์ข้อมูลดัมพ์แบบสแตนด์อะโลนและ SVC โปรแกรมนี้จะจัดรูปแบบบล็อกควบคุมระบบหลายบล็อก นอกเหนือจากการพิมพ์พื้นที่จัดเก็บข้อมูลในรูปแบบเลขฐานสิบหกและEBCDIC เวอร์ชัน สำหรับ OS /VS1และOS/VS2เรียกว่า HMDPRDMP และ AMDPRDMP ตามลำดับ

Interactive Problem Control System (IPCS) เป็นโปรแกรมอ่านข้อมูลหน้าจอแบบเต็มรูปแบบที่ IBM นำเสนอสำหรับ OS/VS2 (MVS) , DOS/VSEและVM/370เวอร์ชัน MVS ทำงานคล้ายกับ AMDPRDMP และใช้คำอธิบายบล็อกควบคุมที่เข้ากันได้สำหรับการจัดรูปแบบ ในที่สุด IBM ก็เลิกใช้ AMDPRDMP และหันมาใช้ IPCS แทน IPCS บน MVS รองรับสคริปต์ใน CLISTและREXX

ผู้ใช้เมนเฟรม IBM ที่ใช้z/OSสามารถเรียกดูทั้ง SVC และไฟล์ดัมพ์ธุรกรรมโดยใช้ IPCS ซึ่งรองรับสคริปต์ที่ผู้ใช้เขียนในREXX และรองรับการเรียกดู ไฟล์ดัมพ์ แบบชี้และคลิก[ c ]

ไฟล์ Core-dump

รูปแบบ

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

มอนิเตอร์IBSYSสำหรับIBM 7090ประกอบด้วยโปรแกรมดัมพ์พื้นที่จัดเก็บข้อมูลหลักของระบบ[ 12 ]ซึ่งรองรับการดัมพ์หลังเกิดเหตุและการดัมพ์สแนปช็อต

บนระบบ IBM System/360ระบบปฏิบัติการมาตรฐานจะเขียนไฟล์ดัมพ์ ABEND และ SNAP ที่จัดรูปแบบแล้ว โดยแปลงที่อยู่ รีจิสเตอร์ เนื้อหาในหน่วยความจำ ฯลฯ ให้เป็นรูปแบบที่พิมพ์ได้ เวอร์ชันต่อมาได้เพิ่มความสามารถในการเขียนไฟล์ดัมพ์ที่ไม่ได้จัดรูปแบบซึ่งในขณะนั้นเรียกว่าไฟล์ดัมพ์ภาพแกนหลัก (หรือที่รู้จักกันในชื่อไฟล์ดัมพ์ SVC)

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

ใน ระบบ ที่คล้าย Unix ไฟล์ core dump โดยทั่วไปจะใช้ รูปแบบไฟล์ภาพที่สามารถเรียกใช้งานได้มาตรฐาน:

การตั้งชื่อ

OS/360 และรุ่นต่อมา

ในOS/360 และรุ่นต่อมางานอาจกำหนดชื่อชุดข้อมูล (dsnames) ที่กำหนดเองให้กับ ddnames SYSABENDสำหรับSYSUDUMPดัมพ์ ABEND ที่จัดรูปแบบแล้ว และให้กับ ddnames ที่กำหนดเองสำหรับดัมพ์ SNAP หรือกำหนด ddnames เหล่านั้นเป็น SYSOUT [ f ]ระบบการประเมินและซ่อมแซมความเสียหาย (DAR) ได้เพิ่มดัมพ์พื้นที่จัดเก็บที่ไม่ได้จัดรูปแบบโดยอัตโนมัติ[ h ]ลงในชุดข้อมูลSYS1.DUMP[ i ]ในขณะที่เกิดความล้มเหลว เช่นเดียวกับดัมพ์คอนโซลที่ผู้ปฏิบัติงานร้องขอ งานอาจกำหนด dsname ที่กำหนดเองให้กับ ddname SYSMDUMPสำหรับดัมพ์ ABEND ที่ไม่ได้จัดรูปแบบ หรือกำหนด ddname นั้นเป็น SYSOUT [ j ]ดัมพ์ธุรกรรมแบบใหม่นั้นคล้ายกับดัมพ์ SVC แบบเก่ามาก ระบบควบคุมปัญหาแบบโต้ตอบ (IPCS) ซึ่งเพิ่มเข้ามาใน OS/VS2 โดยSelectable Unit (SU) 57 [ 14 ] [ 15 ] และเป็นส่วนหนึ่งของ MVS เวอร์ชัน ต่อๆ ไปทั้งหมดสามารถใช้ในการวิเคราะห์ข้อมูลดัมพ์บนDASD แบบโต้ตอบ ได้ IPCS เข้าใจรูปแบบและความสัมพันธ์ของบล็อกควบคุมระบบ และสามารถสร้างการแสดงผลในรูปแบบที่เหมาะสมสำหรับการวิเคราะห์ เวอร์ชันปัจจุบันของ IPCS อนุญาตให้ตรวจสอบพื้นที่แอดเดรสที่ใช้งานอยู่[ 16 ] [ k ]โดยไม่ต้องทำการดัมพ์ข้อมูลก่อน และตรวจสอบข้อมูลดัมพ์ที่ไม่ได้จัดรูปแบบบน SPOOL ได้

เหมือนยูนิก

ตั้งแต่ Solaris 8 เป็นต้นมา ยูทิลิตี้ระบบcoreadmอนุญาตให้กำหนดค่าชื่อและตำแหน่งของไฟล์ core ได้ โดยปกติแล้วการดัมพ์กระบวนการของผู้ใช้จะถูกสร้างขึ้นเป็นcore. บน Linux (ตั้งแต่เวอร์ชัน 2.4.21 และ 2.6 ของเคอร์เนล Linux mainline ) สามารถระบุชื่อที่แตกต่างกันได้ผ่านprocfsโดยใช้/proc/sys/kernel/core_patternไฟล์การกำหนดค่า ชื่อที่ระบุยังสามารถเป็นเทมเพลตที่มีแท็กที่แทนที่ด้วยตัวอย่างเช่น ชื่อไฟล์ปฏิบัติการ รหัสกระบวนการ หรือเหตุผลสำหรับการดัมพ์[ 17 ]การดัมพ์ทั่วทั้งระบบบนระบบที่คล้าย Unix สมัยใหม่มักจะปรากฏเป็นvmcoreหรือvmcore.incomplete.

คนอื่น

ระบบต่างๆ เช่นMicrosoft Windowsซึ่งใช้ส่วนขยายชื่อไฟล์อาจใช้ส่วนขยาย.dmp.com ตัวอย่างเช่น ไฟล์ core dump อาจมีชื่อว่า .com memory.dmpหรือ\Minidump\Mini051509-01.dmp.com

ไฟล์ดัมพ์หน่วยความจำของ Windows

ระบบปฏิบัติการ Microsoft Windowsรองรับรูปแบบการดัมพ์หน่วยความจำสองรูปแบบ ดังที่อธิบายไว้ด้านล่าง

การดัมพ์โหมดเคอร์เนล

มีดัมพ์โหมดเคอร์เนลห้าประเภท: [ 18 ]

  • การดัมพ์หน่วยความจำแบบสมบูรณ์ – ประกอบด้วยหน่วยความจำทางกายภาพทั้งหมดสำหรับระบบเป้าหมาย
  • ไฟล์ดัมพ์หน่วยความจำเคอร์เนล – ประกอบด้วยหน่วยความจำทั้งหมดที่เคอร์เนลใช้งานอยู่ขณะที่ระบบล่ม
  • ไฟล์ดัมพ์หน่วยความจำขนาดเล็ก – ประกอบด้วยข้อมูลต่างๆ เช่น รหัสข้อผิดพลาด พารามิเตอร์ รายชื่อไดรเวอร์อุปกรณ์ที่โหลด เป็นต้น
  • การดัมพ์หน่วยความจำอัตโนมัติ ( Windows 8และเวอร์ชันที่ใหม่กว่า) – เหมือนกับการดัมพ์หน่วยความจำเคอร์เนล แต่ถ้าไฟล์เพจจิ้งได้รับการจัดการโดยระบบและมีขนาดเล็กเกินไปที่จะบันทึกการดัมพ์หน่วยความจำเคอร์เนล ระบบจะเพิ่มขนาดไฟล์เพจจิ้งโดยอัตโนมัติให้มีขนาดอย่างน้อยเท่ากับ RAM เป็นเวลาสี่สัปดาห์ จากนั้นจึงลดขนาดลงให้เล็กลง[ 19 ]
  • การดัมพ์หน่วยความจำแบบแอคทีฟ (Windows 10 และเวอร์ชันที่ใหม่กว่า) – ประกอบด้วยหน่วยความจำส่วนใหญ่ที่ใช้งานโดยเคอร์เนลและแอปพลิเคชันในโหมดผู้ใช้

เพื่อวิเคราะห์ดัมพ์โหมดเคอร์เนลของ Windows จะใช้ เครื่องมือดีบักสำหรับ Windowsซึ่งเป็นชุดเครื่องมือที่รวมถึงเครื่องมือต่างๆ เช่น WinDbg และ DumpChk [ 20 ] [ 21 ] [ 22 ]

การดัมพ์หน่วยความจำในโหมดผู้ใช้

การดัมพ์หน่วยความจำในโหมดผู้ใช้ หรือที่เรียกว่าminidump [ 23 ] คือการดัมพ์หน่วยความจำของกระบวนการเดียว ประกอบด้วยระเบียนข้อมูลที่เลือกไว้ ได้แก่ หน่วยความจำของกระบวนการทั้งหมดหรือบางส่วน (กรองแล้ว) รายชื่อเธรดพร้อม ส แต็กการเรียกและสถานะ (เช่นรีจิสเตอร์หรือTEB ) ข้อมูลเกี่ยวกับแฮนเดิลไปยังวัตถุเคอร์เนล รายชื่อไลบรารี ที่โหลดและยกเลิกการโหลด รายการตัวเลือกทั้งหมดที่มีอยู่ในMINIDUMP_TYPEenum [ 24 ]

ภารกิจอวกาศ

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

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

ดูเพิ่มเติม

หมายเหตุ

  1. ^คำว่า "core"นั้นล้าสมัยแล้วในฮาร์ดแวร์รุ่นใหม่ แต่ยังคงใช้ในหลายระบบด้วยเหตุผลทางประวัติศาสตร์
  2. ^เช่น z/OS
  3. ^กล่าวคือ คุณสามารถวางเคอร์เซอร์ไว้ที่คำหรือดับเบิลเวิร์ดที่มีที่อยู่ และขอให้แสดงข้อมูลที่จัดเก็บไว้ที่ที่อยู่นั้นได้
  4. ^ a bเครื่องจักรบางเครื่องรุ่นเก่าใช้ระบบเลขฐานสิบ
  5. ^ในแง่ที่ว่าข้อมูลเป็นไบนารี ไม่ใช่ข้อมูลที่จัดรูปแบบไว้สำหรับการพิมพ์
  6. ไฟล์เอาต์พุตของระบบ (SYSOUT) เป็นไฟล์ชั่วคราวที่เป็นกรรมสิทธิ์ของซอฟต์แวร์ SPOOL
  7. ^เดิมทีเป็นยูทิลิตี้แบบแบตช์ IMDPRDMP ปัจจุบันเป็นชุดคำสั่ง TSO และ แผง ISPFสำหรับระบบควบคุมปัญหาแบบโต้ตอบ (IPCS)
  8. ^ IBM จัดเตรียมเครื่องมือสำหรับการดึงและจัดรูปแบบข้อมูลจากไฟล์ดัมพ์ที่ไม่ได้จัดรูปแบบ เครื่องมือเหล่านั้น [ g ]มักจะทำให้การจัดการกับไฟล์ดัมพ์ที่ไม่ได้จัดรูปแบบง่ายกว่าไฟล์ดัมพ์ที่จัดรูปแบบแล้ว
  9. ^ตั้งแต่นั้นมา IBM ได้เพิ่มความสามารถในการมีชุดข้อมูลดัมพ์ได้มากถึงหนึ่งร้อยชุดที่ตั้งชื่อSYS1.DUMPnn(nn ตั้งแต่ 00 ถึง 99) z/OS รองรับชุดข้อมูลดัมพ์ระบบหลายชุดที่มีรูปแบบ dsname ที่กำหนดเองภายใต้ การควบคุมการติดตั้งและผู้ปฏิบัติงาน [ 13 ]
  10. ^หากมีการจัดสรรพื้นที่สำหรับ SYSMDUMP แล้ว จะไม่มีการเขียนข้อมูลดัมพ์ที่จัดรูปแบบแล้วไปยัง SYSABEND หรือ SYSUDUMP
  11. ^ด้วยสิทธิ์ในการอ่านไปยังคลาสสิ่งอำนวยความสะดวก BLSACTV.ADDRSPAC, IPCS สามารถดูพื้นที่แอดเดรสใดๆ ก็ได้

คำอธิบายเกี่ยวกับรูปแบบไฟล์

ไฟล์ดัมพ์แกนเคอร์เนล:

  • savecore(1M) –  คู่มือ อ้างอิงSolaris 11.4
  • เอกสารทางเทคนิค ของ Apple TN2118: ไฟล์ดัมพ์แกนเคอร์เนล
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Core_dump&oldid=1343013086 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ การดัมพ์แกนหลัก

ใน ด้านคอมพิวเตอร์ core dump [ a ] memory dump , crash dump , storage dump , system dump หรือ ABEND dump [ 1 ] ประกอบด้วยสถานะที่บันทึกไว้ของ หน่วยความจำ ใช้งาน ของ...

พื้นหลัง

ชื่อนี้มาจาก หน่วยความจำแกนแม่เหล็ก [ 5 ] [ 6 ] ซึ่งเป็นรูปแบบหลักของ หน่วยความจำเข้าถึงแบบสุ่ม ตั้งแต่ช่วงปี 1950 ถึง 1970 ชื่อนี้ยังคงใช้กันอยู่แม้เทคโนโลยีแกนแม่เหล็กจะล้าสมัยไปแล้ว ก็ตาม

การใช้งาน

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

การวิเคราะห์

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