ระบบถ่ายโอนข้อมูลหน่วยความจำ การถ่ายโอนข้อมูลหน่วยความจำคืออะไร? การถ่ายโอนข้อมูลคืออะไร

สวัสดีเพื่อนๆ วันนี้เราจะมาพูดถึงหัวข้อที่น่าสนใจซึ่งจะช่วยคุณได้ในอนาคตเมื่อหน้าจอสีน้ำเงินแห่งความตาย (BSoD) ปรากฏขึ้น

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

ฉันเพิ่งพบปัญหาหน้าจอสีน้ำเงินใน Windows 10 อีกครั้ง แต่ฉันรีบกำจัดมันออกไปและจะแจ้งให้คุณทราบเร็วๆ นี้

ต้องการที่จะ ? จากนั้นไปตามลิงค์

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

ดัมพ์หน่วยความจำมีสามประเภท:

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

การถ่ายโอนข้อมูลหลัก– บันทึกข้อมูลโหมดเคอร์เนล

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

ตำแหน่งของทั้งดัมพ์ขนาดเล็กและเต็มจะแตกต่างกัน ตัวอย่างเช่น ดัมพ์ขนาดเล็กอยู่ในเส้นทางต่อไปนี้: %systemroot%\minidump

ดัมพ์แบบเต็มอยู่ที่นี่: %systemroot%

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

การวิเคราะห์การถ่ายโอนข้อมูลหน่วยความจำโดยใช้ Microsoft Kernel Debuggers

สำหรับระบบเวอร์ชันต่างๆ คุณจะต้องดาวน์โหลดยูทิลิตี้ประเภทอื่น ตัวอย่างเช่น สำหรับระบบปฏิบัติการ 64 บิต จำเป็นต้องมีโปรแกรม 64 บิต สำหรับระบบปฏิบัติการ 32 บิต จำเป็นต้องมีเวอร์ชัน 32 บิต

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

ตอนนี้คุณสามารถเปิดตัวดีบักเกอร์ของเราได้ โดยหน้าต่างจะมีลักษณะดังนี้:

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


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

SRV*%systemroot%\สัญลักษณ์*http://msdl.microsoft.com/download/สัญลักษณ์


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

นั่นคือทั้งหมดที่ เราได้กำหนดค่าโปรแกรมอย่างถูกต้องแล้ว ตอนนี้เราเริ่มวิเคราะห์การถ่ายโอนข้อมูลหน่วยความจำ ในโปรแกรมให้กดปุ่ม "ไฟล์", แล้ว "เปิดการถ่ายโอนข้อมูลผิดพลาด"และเลือกไฟล์ที่ต้องการ

Kernel Debuggers จะเริ่มวิเคราะห์ไฟล์แล้วส่งออกผลลัพธ์เกี่ยวกับสาเหตุของข้อผิดพลาด


ในหน้าต่างที่ปรากฏขึ้น คุณสามารถป้อนคำสั่งได้ ถ้าเราเข้าไป !วิเคราะห์ –vจากนั้นเราจะได้รับข้อมูลเพิ่มเติม

นั่นคือทั้งหมดที่มีโปรแกรมนี้ หากต้องการหยุดดีบักเกอร์ ให้เลือก "ดีบั๊ก" และรายการ "หยุดดีบั๊ก"

การวิเคราะห์การถ่ายโอนข้อมูลหน่วยความจำโดยใช้ BlueScreenView

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

ดาวน์โหลดโปรแกรมจากลิงค์ด้านบนและติดตั้ง หลังจากเปิดตัวยูทิลิตี้แล้ว คุณจะต้องกำหนดค่ามัน ไปที่พารามิเตอร์: "การตั้งค่า" - "การตั้งค่าขั้นสูง" หน้าต่างเล็ก ๆ จะเปิดขึ้นพร้อมรายการสองสามรายการ ในย่อหน้าแรก คุณต้องระบุตำแหน่งของการดัมพ์หน่วยความจำ โดยปกติจะอยู่ในเส้นทาง C:\WINDOWS\Minidump จากนั้นเพียงคลิกปุ่ม "ค่าเริ่มต้น"


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


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

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

บนอินเทอร์เน็ตคุณสามารถค้นหาทุกสิ่งเกี่ยวกับรหัสข้อผิดพลาดและไดรเวอร์ที่อาจถูกตำหนิสำหรับ BSoD โดยคลิก "ไฟล์" จากนั้น “ค้นหารหัสข้อผิดพลาด + ไดรเวอร์ใน Google”.


คุณสามารถแสดงเฉพาะไดรเวอร์ที่มีอยู่ในขณะที่เกิดข้อผิดพลาดเท่านั้น ในการดำเนินการนี้คลิก "การตั้งค่า" - "โหมดหน้าต่างด้านล่าง" - "พบเฉพาะไดรเวอร์ใน Crash Stack" หรือกดปุ่ม F7

หากต้องการแสดงภาพหน้าจอ BSoD ให้กด F8

หากต้องการแสดงไดรเวอร์และไฟล์ทั้งหมด ให้กด F6

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

อย่าลืมถามคำถามในความคิดเห็น

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

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

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

การถ่ายโอนข้อมูลคืออะไร

  • dump (อังกฤษ) – กองขยะ; ทิ้ง; รู; สลัม.
  • ดัมพ์ (ดัมพ์หน่วยความจำ) – 1) ดัมพ์, ส่งออกเนื้อหาของ RAM เพื่อพิมพ์หรือหน้าจอ; 2) “สแนปชอต” ของ RAM; ข้อมูลที่ได้รับจากการทิ้ง 3) การลบฉุกเฉิน ปิดเครื่อง รีเซ็ต
  • การทุ่มตลาด - การทิ้ง, การทิ้งการถ่ายโอนข้อมูล

การตั้งค่าสำหรับการบันทึกดัมพ์หน่วยความจำจะถูกจัดเก็บไว้ในรีจิสทรีของระบบ Windows

ข้อมูลเกี่ยวกับการถ่ายโอนข้อมูลหน่วยความจำในรีจิสทรีของระบบ:

ในส่วน Windows Registry การถ่ายโอนข้อมูลข้อขัดข้องถูกกำหนดโดยพารามิเตอร์ต่อไปนี้:

– พารามิเตอร์ REG_DWORD รีบูตอัตโนมัติด้วยค่า 0 × 1 (ตัวเลือก รีบูตหน้าต่างเสริมโดยอัตโนมัติ บูตและคืนค่ากล่องโต้ตอบคุณสมบัติของระบบ);

– พารามิเตอร์ REG_DWORD CrashDumpEnabled มีค่า 0 × 0 หากไม่ได้สร้างการถ่ายโอนข้อมูลหน่วยความจำ 0×1 – ดัมพ์หน่วยความจำเสร็จสมบูรณ์ 0×2 – ดัมพ์หน่วยความจำเคอร์เนล; 0x3 – ดัมพ์หน่วยความจำขนาดเล็ก (64KB);

– พารามิเตอร์ REG_EXPAND_SZ DumpFile พร้อมค่าเริ่มต้น %SystemRoot%\MEMORY.DMP (ตำแหน่งที่เก็บไฟล์ดัมพ์)

– พารามิเตอร์ REG_DWORD LogEvent ด้วยค่าเริ่มต้น 0×1 (ตัวเลือก บันทึกเหตุการณ์ในบันทึกระบบของหน้าต่าง Boot และ Recovery)

– พารามิเตอร์ REG_EXPAND_SZ MinidumpDir พร้อมค่าเริ่มต้น %SystemRoot%\Minidump (ตัวเลือกโฟลเดอร์ดัมพ์ขนาดเล็กของหน้าต่าง Boot และ Recovery)

– พารามิเตอร์ REG_DWORD เขียนทับด้วยค่าเริ่มต้น 0 × 1 (ตัวเลือกเขียนทับไฟล์ดัมพ์ที่มีอยู่ของหน้าต่าง Boot and Restore)

– พารามิเตอร์ REG_DWORD SendAlert ด้วยค่าเริ่มต้น 0x1 (ตัวเลือกส่งการแจ้งเตือนผู้ดูแลระบบของหน้าต่าง Boot และ Recovery)

วิธีที่ระบบสร้างไฟล์การถ่ายโอนข้อมูลข้อขัดข้อง

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

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

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

หลังจากที่ระบบบูทแล้ว Session Manager (Windows NT Session Manager ที่อยู่ดิสก์ - \WINDOWS\system32\smss.exe) เตรียมใช้งานไฟล์เพจระบบ โดยใช้ฟังก์ชัน NtCreatePagingFile ของตัวเองเพื่อสร้างแต่ละไฟล์ NtCreatePagingFile กำหนดว่าไฟล์เพจที่กำลังเตรียมใช้งานอยู่หรือไม่ และถ้ามี ว่ามีส่วนหัวของดัมพ์หรือไม่ หากมีส่วนหัว NtCreatePagingFile จะส่งรหัสพิเศษไปยัง Session Manager ตัวจัดการเซสชันแล้วเริ่มกระบวนการ Winlogon (โปรแกรมเข้าสู่ระบบ Windows NT ที่อยู่ดิสก์คือ \WINDOWS\system32\winlogon.exe) ซึ่งได้รับการแจ้งเตือนถึงการมีอยู่ของการถ่ายโอนข้อมูลความล้มเหลว Winlogon รันโปรแกรม SaveDump (โปรแกรมคัดลอกหน่วยความจำ Windows NT ที่อยู่ดิสก์ - \WINDOWS\system32\savedump.exe) ซึ่งจะวิเคราะห์ส่วนหัวของการถ่ายโอนข้อมูลและกำหนดการดำเนินการเพิ่มเติมในสถานการณ์ฉุกเฉิน

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

หลังจากบันทึกไฟล์ดัมพ์ โปรแกรม SaveDump จะบันทึกการสร้าง Crash dump ในบันทึกเหตุการณ์ของระบบ เช่น “คอมพิวเตอร์ถูกรีบูตหลังจากเกิดข้อผิดพลาดร้ายแรง: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6) บันทึกสำเนาหน่วยความจำแล้ว: C:\WINDOWS\Minidump\Mini060309-01.dmp"

หากเปิดใช้งานตัวเลือกส่งการแจ้งเตือนของผู้ดูแลระบบ SaveDump จะส่งการแจ้งเตือนไปยังผู้ดูแลระบบ

ประเภทของการทิ้ง

  • ดัมพ์หน่วยความจำเต็มเขียนเนื้อหาทั้งหมดของหน่วยความจำระบบเมื่อเกิดข้อผิดพลาดร้ายแรง สำหรับตัวเลือกนี้ คุณต้องมีไฟล์เพจจิ้งบนโวลุ่มสำหรับบูท ซึ่งมีขนาดเท่ากับจำนวน RAM จริงทั้งหมดบวก 1MB ตามค่าเริ่มต้น การถ่ายโอนข้อมูลหน่วยความจำทั้งหมดจะถูกเขียนไปยังแฟ้ม %SystemRoot%\Memory.dmp เมื่อมีข้อผิดพลาดใหม่เกิดขึ้นและมีการสร้างไฟล์ดัมพ์หน่วยความจำเต็ม (หรือดัมพ์หน่วยความจำเคอร์เนล) ใหม่ ไฟล์ก่อนหน้าจะถูกแทนที่ (เขียนทับ) ตัวเลือกการถ่ายโอนข้อมูลหน่วยความจำแบบเต็มไม่พร้อมใช้งานบนพีซีที่มีระบบปฏิบัติการ 32 บิตและ RAM 2 กิกะไบต์ขึ้นไป

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

  • การถ่ายโอนข้อมูลหน่วยความจำเคอร์เนลเขียนเฉพาะหน่วยความจำเคอร์เนลทำให้กระบวนการเขียนข้อมูลลงบันทึกเมื่อระบบหยุดกะทันหันดำเนินไปเร็วขึ้น ขึ้นอยู่กับจำนวนหน่วยความจำฟิสิคัลของพีซี ในกรณีนี้ ไฟล์เพจจิ้งต้องใช้ขนาด 50 ถึง 800MB หรือหนึ่งในสามของหน่วยความจำฟิสิคัลของคอมพิวเตอร์บนโวลุ่มสำหรับบูต ตามค่าเริ่มต้น การถ่ายโอนข้อมูลหน่วยความจำเคอร์เนลจะถูกเขียนไปยังไฟล์ %SystemRoot%\Memory.dmp

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

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

แฟ้มดัมพ์หน่วยความจำขนาดเล็กประกอบด้วยข้อมูลต่อไปนี้:

  • ข้อความแสดงข้อผิดพลาดร้ายแรง พารามิเตอร์ และข้อมูลอื่น ๆ
  • รายการไดรเวอร์ที่โหลด;
  • บริบทของตัวประมวลผล (PRCB) ที่เกิดความล้มเหลว
  • ข้อมูลกระบวนการและบริบทเคอร์เนล (EPROCESS) สำหรับกระบวนการที่ทำให้เกิดข้อผิดพลาด
  • ประมวลผลข้อมูลและบริบทเคอร์เนล (ETHREAD) สำหรับเธรดที่ทำให้เกิดข้อผิดพลาด
  • สแต็กการเรียกโหมดเคอร์เนลสำหรับเธรดที่ทำให้เกิดข้อผิดพลาด

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

เมื่อเกิดข้อผิดพลาดถัดไปและมีการสร้างไฟล์ดัมพ์หน่วยความจำขนาดเล็กไฟล์ที่สอง ไฟล์ก่อนหน้าจะถูกบันทึก แต่ละไฟล์เพิ่มเติมจะได้รับชื่อที่ไม่ซ้ำกัน วันที่ถูกเข้ารหัสในชื่อไฟล์ ตัวอย่างเช่น Mini051509-01.dmp เป็นไฟล์ดัมพ์หน่วยความจำไฟล์แรกที่สร้างขึ้นเมื่อวันที่ 15 พฤษภาคม 2552 รายการไฟล์ดัมพ์หน่วยความจำขนาดเล็กทั้งหมดจะถูกจัดเก็บไว้ในโฟลเดอร์ %SystemRoot%\Minidump.

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

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

ฉันจะยกตัวอย่างจากแนวทางปฏิบัติ "ผู้ดูแลระบบ" ของฉัน

บนเครือข่ายท้องถิ่นโดยไม่มีเหตุผลที่ชัดเจน ("ฮาร์ดแวร์อยู่ในลำดับ รับประกันว่าไม่มีไวรัส ผู้ใช้มี "มือปกติ") เวิร์กสเตชันหลายตัวที่มี Windows XP SP1/SP2 "ออนบอร์ด" หยุดทำงาน ไม่สามารถบู๊ตคอมพิวเตอร์ในโหมดปกติได้ - ต้องไปที่ "คำทักทาย" และต้องใช้เวลาในการรีบูทตลอดไป ในเวลาเดียวกัน พีซีก็บูตเข้าสู่เซฟโหมด

การศึกษาการถ่ายโอนข้อมูลหน่วยความจำทำให้สามารถระบุสาเหตุของความผิดปกติได้: ผู้ร้ายกลายเป็น Kaspersky Anti-Virus ซึ่งเป็นฐานข้อมูลต่อต้านไวรัสใหม่ที่แม่นยำยิ่งขึ้น (แม่นยำยิ่งขึ้นคือโมดูลฐานข้อมูลสองโมดูล - base372c.avc, base032c.avc) .

...มีอีกกรณีหนึ่ง บนพีซีที่ใช้ Windows XP SP3 การรีบูตเกิดขึ้นเมื่อพยายามเปิดไฟล์วิดีโอในรูปแบบ .avi และ .mpeg การศึกษาการถ่ายโอนข้อมูลหน่วยความจำทำให้เราสามารถระบุสาเหตุของปัญหา - ไฟล์ nv4_disp.dll ของไดรเวอร์การ์ดแสดงผล NVIDIA GeForce 6600 หลังจากอัปเดตไดรเวอร์แล้ว ปัญหาก็หมดไป โดยทั่วไป ไดรเวอร์ nv4_disp.dll เป็นหนึ่งในไดรเวอร์ที่ไม่เสถียรที่สุด ซึ่งมักทำให้เกิดอาการ BSOD

ในทั้งสองกรณีนี้ การศึกษาดัมพ์หน่วยความจำขัดข้องทำให้สามารถลดเวลาในการวินิจฉัยและขจัดความผิดปกติให้เหลือน้อยที่สุด (หลายนาที!)

การวิเคราะห์ดัมพ์หน่วยความจำ

มีโปรแกรมมากมายสำหรับวิเคราะห์การถ่ายโอนข้อมูลหน่วยความจำที่เสียหายเช่น DumpChk, Kanalyze, WinDbg

มาดูการวิเคราะห์ดัมพ์หน่วยความจำขัดข้องโดยใช้โปรแกรม WinDbg (ส่วนหนึ่งของเครื่องมือแก้ไขจุดบกพร่องสำหรับ Windows)

การติดตั้งเครื่องมือแก้ไขจุดบกพร่อง

  • เยี่ยมชมเว็บไซต์ของ Microsoft Corporation http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • ดาวน์โหลดเครื่องมือแก้ไขข้อบกพร่องสำหรับ Windows เช่น สำหรับ Windows รุ่น 32 บิต ซึ่งสามารถทำได้ในหน้าดาวน์โหลดเครื่องมือแก้ไขข้อบกพร่องสำหรับ Windows
  • หลังจากดาวน์โหลดให้รันไฟล์การติดตั้ง
  • ในหน้าต่างเครื่องมือดีบักสำหรับตัวช่วยสร้างการตั้งค่า Windows คลิกถัดไป
  • ในหน้าต่างที่มีข้อตกลงใบอนุญาต เลือก ฉันยอมรับ -> สวิตช์ถัดไป
  • ในหน้าต่างถัดไป เลือกประเภทการติดตั้ง (โดยค่าเริ่มต้น เครื่องมือแก้ไขจุดบกพร่องจะถูกติดตั้งในโฟลเดอร์ \Program Files\Debugging Tools สำหรับ Windows) -> ถัดไป -> ติดตั้ง -> เสร็จสิ้น;
  • หากต้องการตีความไฟล์ดัมพ์หน่วยความจำ คุณต้องดาวน์โหลดแพ็คเกจสัญลักษณ์สำหรับ Windows เวอร์ชันของคุณ - ไปที่หน้าดาวน์โหลดแพ็คเกจสัญลักษณ์ Windows
  • เลือกเวอร์ชัน Windows ของคุณดาวน์โหลดและเรียกใช้ไฟล์การติดตั้ง Symbol Package
  • ในหน้าต่างที่มีข้อตกลงใบอนุญาตให้คลิกใช่
  • ในหน้าต่างถัดไป เลือกโฟลเดอร์การติดตั้ง (ค่าเริ่มต้นคือ \WINDOWS\Symbols) -> ตกลง -> ใช่;
  • ในหน้าต่าง Microsoft Windows Symbols พร้อมข้อความ "การติดตั้งเสร็จสมบูรณ์" คลิกตกลง

การใช้ WinDbg เพื่อวิเคราะห์ Crash Dumps

  • เรียกใช้ WinDbg (ติดตั้งในโฟลเดอร์ \Program Files\Debugging Tools สำหรับ Windows เป็นค่าเริ่มต้น)
  • เลือกเมนู ไฟล์ -> เส้นทางไฟล์สัญลักษณ์…;
  • ในหน้าต่าง Symbol Search Path คลิกปุ่ม เรียกดู...
  • ในหน้าต่างเรียกดูโฟลเดอร์ ระบุตำแหน่งของโฟลเดอร์สัญลักษณ์ (โดยค่าเริ่มต้น – \WINDOWS\Symbols) -> ตกลง -> ตกลง;
  • เลือกเมนู ไฟล์ -> เปิด Crash Dump… (หรือกด Ctrl + D);
  • ในหน้าต่าง Open Crash Dump ระบุตำแหน่งของไฟล์ Crash Dump (*.dmp) -> เปิด;
  • ในหน้าต่างพื้นที่ทำงานที่มีคำถาม “บันทึกข้อมูลสำหรับพื้นที่ทำงาน?” ให้ทำเครื่องหมายที่ช่องไม่ต้องถามอีกครั้ง -> ไม่มี
  • หน้าต่าง Command Dump จะเปิดขึ้นในหน้าต่าง WinDbg<путь_и_имя_файла_дампа>ด้วยการวิเคราะห์ดัมพ์
  • ทบทวนการวิเคราะห์ดัมพ์หน่วยความจำ
  • ในส่วน "การวิเคราะห์ Bugcheck" จะมีการระบุสาเหตุที่เป็นไปได้ของความผิดพลาด เช่น "อาจเกิดจาก: smwdm.sys (smwdm+454d5)";
  • หากต้องการดูข้อมูลโดยละเอียด คลิกลิงก์ “!analyze -v” ในบรรทัด “Use !analyze -v เพื่อรับข้อมูลการดีบักโดยละเอียด”
  • ปิด WinDbg;
  • ใช้ข้อมูลที่ได้รับเพื่อกำจัดสาเหตุของปัญหา

ตัวอย่างเช่น ในภาพหน้าจอต่อไปนี้ สาเหตุของการทำงานผิดพลาดคือไฟล์ nv4_disp.dll ของไดรเวอร์การ์ดแสดงผล

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

การตั้งค่าดัมพ์หน่วยความจำ Windows 10

ดังนั้นการถ่ายโอนข้อมูลหน่วยความจำในระบบปฏิบัติการ Windows 10 Redstone คืออะไร ข้างต้นฉันได้อธิบายให้คุณฟังถึงสาเหตุทั่วไปว่าทำไมการถ่ายโอนข้อมูลหน่วยความจำระบบจึงปรากฏขึ้นและนี่คือหน้าจอสีน้ำเงินแห่งความตาย สาเหตุของการปรากฏตัวนั้นกว้างขวางมาก:

  • ความไม่เข้ากันของแอปพลิเคชัน
  • ความไม่เข้ากันของไดรเวอร์
  • อัพเดตวินโดวส์ใหม่
  • อุปกรณ์เข้ากันไม่ได้

นี่เป็นเพียงรายการทั่วไปเล็กๆ น้อยๆ เนื่องจากมีรหัสข้อผิดพลาดมากมายจากหน้าจอสีน้ำเงิน ฉันจะให้รหัสข้อผิดพลาดล่าสุด

งานของเราคือสามารถค้นหาไฟล์เหล่านี้เพื่อการวินิจฉัยและสามารถตีความไฟล์เหล่านั้นเพื่อรับข้อมูลเกี่ยวกับปัญหาได้

การถ่ายโอนข้อมูลความผิดพลาดของ Windows 10 อยู่ที่ไหน

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

ในหน้าต่างระบบที่เปิดขึ้น ที่มุมซ้ายบน ให้คุณเลือกการตั้งค่าระบบขั้นสูง

นี่คือที่ที่มีการกำหนดค่าการถ่ายโอนข้อมูลหน่วยความจำ Windows 10 คลิกที่รายการการตั้งค่าในการบูตและการกู้คืน

จากการตั้งค่าการถ่ายโอนข้อมูลหน่วยความจำ Windows 10 ฉันต้องการทราบสิ่งต่อไปนี้:

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

ประเภทของดัมพ์หน่วยความจำ

มาดูความแตกต่างระหว่างตัวเลือกในการบันทึกข้อมูลการดีบัก

  • การถ่ายโอนข้อมูลหน่วยความจำขนาดเล็ก 256 KB: ไฟล์การถ่ายโอนข้อมูลหน่วยความจำขนาดเล็กประกอบด้วยข้อมูลต่อไปนี้:

– ข้อความเกี่ยวกับข้อผิดพลาดร้ายแรง พารามิเตอร์ และข้อมูลอื่น ๆ

– รายการไดรเวอร์ที่โหลด;

– บริบทของโปรเซสเซอร์ ( ป.ป.ช) ที่เกิดความล้มเหลว;

การประมวลผล) สำหรับกระบวนการที่ทำให้เกิดข้อผิดพลาด

– ประมวลผลข้อมูลและบริบทเคอร์เนล ( เอธรีด) สำหรับเธรดที่ทำให้เกิดข้อผิดพลาด

– สแต็กการเรียกโหมดเคอร์เนลสำหรับเธรดที่ทำให้เกิดข้อผิดพลาด

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

ดัมพ์ขนาดเล็กถูกเก็บไว้ในเส้นทาง C:\Windows\Minidump

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

อยู่ที่ C:\Windows\Memory.dmp

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

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

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

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

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

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

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

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


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

เป็นที่น่าสังเกตว่าคุณสามารถสร้างไฟล์นี้ด้วยตนเองได้ ในการดำเนินการนี้ให้เรียกเมนู Start เริ่มบริการที่เรียกว่า "Run" แล้วป้อนคำสั่ง "regedit" จากนั้นคลิกปุ่ม "Ok" ระบบปฏิบัติการจะปรากฏต่อหน้าคุณ ที่นั่นคุณจะต้องค้นหาคีย์ที่มีลักษณะดังนี้: HKEYS LOCAL MACHINES/ SYSTEMA/ CurrentControlSets / Service/ i8042prt/ Parametres

เมื่อคุณพบแล้ว ให้คลิกขวาที่เมาส์ทางด้านขวาของหน้าต่างนี้แล้วเลือกสร้าง DWORLD หลังจากนี้ ให้เขียนชื่อของคีย์ “CrashOnCtrlScroll” จากนั้นกำหนดค่าเป็น “1” จากนั้นปิดตัวแก้ไขนี้แล้วรีสตาร์ทคอมพิวเตอร์หรือแล็ปท็อปของคุณ หากต้องการสร้างไฟล์ใหม่ที่มีดัมพ์หน่วยความจำ ให้กดปุ่ม Contral ค้างไว้ จากนั้นกดปุ่มสองครั้ง

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