ดาวน์โหลดบทความ
ดาวน์โหลดบทความ
เวลาโปรแกรมของ Windows ค้างหรือล่ม ระบบจะสร้าง "crash dump file" ไว้เซฟข้อมูลที่มีก่อนเกิดข้อผิดพลาด ถ้าคุณอ่าน memory dump file ขนาดเล็กจิ๋วนี้ได้ ก็ช่วย troubleshoot หรือหาสาเหตุ error ต่างๆ ได้ง่ายขึ้น ให้ใช้ utility ฟรีชื่อ "BlueScreenView" แล้วจะรู้ทันทีว่าเกิดความผิดปกติตรงไหน หรือใช้ Windows Debugger tool แทนถ้าอยากรู้ข้อมูลแบบลงลึก
ขั้นตอน
-
ให้ใช้ BlueScreenView ถ้าแค่อยากรู้ว่าอะไรทำโปรแกรมล่ม. ผู้ใช้ทั่วไปจะใช้ dump file แค่หาสาเหตุที่ทำระบบล่ม หรือมีจอฟ้ามรณะ (Blue Screen of Death) โผล่มา BlueScreenView เป็น utility ฟรีของ NirSoft ใช้วิเคราะห์ dump file แล้วรายงานได้ว่าไดรฟ์เวอร์ไหนหรือสาเหตุอะไรที่ทำระบบคุณล่ม
- dump file ที่ถูกสร้างตอนระบบกำลังล่ม จะเรียกว่า "minidump"
-
ดาวน์โหลด BlueScreenView. คุณดาวน์โหลด BlueScreenView ได้ที่เว็บ NirSoft เลย แค่พิมพ์ nirsoft.net/utils/blue_screen_view.html ในเบราว์เซอร์
- โปรแกรมแบบ standalone ก็มีให้ดาวน์โหลดเป็นไฟล์ ZIP ใช้เปิดได้เลย ไม่ต้องติดตั้ง พอดาวน์โหลดไฟล์ ZIP มาแล้วก็คลิกขวาแล้วเลือก "Extract" เพื่อสร้างโฟลเดอร์ใหม่ด้วยโปรแกรม BlueScreenView ได้เลย
-
เปิด BlueScreenView. พอแตกไฟล์ ZIP ของ BlueScreenView แล้ว ให้เปิดโปรแกรมข้างใน แล้ว Windows จะมีขั้นตอนต่อไปให้ทำ
-
หา dump file ที่จะวิเคราะห์. เวลาคอมค้าง ระบบล่ม จะมีการสร้างไฟล์ "minidump" ขึ้นมาในโฟลเดอร์ Windows เป็นไฟล์ที่ลงท้ายด้วย .dmp เปิดในโปรแกรม BlueScreenView ได้ จะมีรายงานผลว่าเกิดอะไรขึ้นบ้าง minidump file ปกติจะอยู่ที่ C:\Windows\Minidump แต่ถ้าหาไม่เจอ อาจต้องตั้งค่าให้แสดงไฟล์ที่ถูกซ่อน (hidden file) ก่อน [1] X แหล่งข้อมูลอ้างอิง
- ถ้าใช้ Windows 10 กับ 8 ให้คลิก tab "View" ใน Windows Explorer แล้วติ๊กช่อง "Hidden items"
- ถ้าใช้ Windows 7 หรือเก่ากว่า ให้เปิด Folder Options ใน Control Panel จากนั้นคลิก tab "View" แล้วเลือก "Show hidden files, folders, and drives"
-
ลากไฟล์ .dmp ไปใส่ในหน้าต่าง BlueScreenView . วิธีเปิดไฟล์ .dmp แบบง่ายและเร็วที่สุด คือลากไฟล์ไปใส่ในหน้าต่างเลย ไม่ได้เป็นการย้ายไฟล์จากตำแหน่งที่เซฟไว้แต่อย่างใด เสร็จแล้วจะเห็นข้อมูลในครึ่งล่างของหน้าต่าง BlueScreenView
-
หาคอลัมน์ "Caused By Driver" ที่ด้านบน. อาจจะต้องเลื่อนไปทางขวาหน่อยถึงจะเจอ คอลัมน์นี้จะแสดงไดรฟ์เวอร์ที่ทำระบบล่ม
- นอกจากนี้ไดรฟ์เวอร์เจ้าปัญหาจะเน้นไว้ด้วยสีแดงที่ด้านล่างของหน้าต่าง ให้ดับเบิลคลิก entry ที่เด่นเป็นสง่านี้ถ้าอยากดูรายละเอียดเพิ่มเติม เช่น ชื่อผลิตภัณฑ์, คำอธิบาย และ path [2] X แหล่งข้อมูลอ้างอิง
-
แก้ปัญหาด้วยข้อมูลนี้. พอรู้แล้วว่าไดรฟ์เวอร์ไหนทำระบบล่ม ก็เริ่ม troubleshoot หรือแก้ปัญหาได้เลย เริ่มจากค้นในเน็ตว่า " ชื่อไดรฟ์เวอร์ crash" เผื่อจะเจอคนที่ประสบปัญหาเดียวกันและหาทางแก้ได้แล้วโฆษณา
-
ถ้าอยากวิเคราะห์ขั้นสูง ให้ใช้วิธีนี้. ถ้าเป็นผู้ใช้ทั่วไปก็ไม่ต้องถึงขั้นใช้โปรแกรม Windows Debugger เปิดไฟล์ MEMORY.DMP หาโค้ดที่เด้งออกมาจากความจำตอนระบบล่ม แต่ถ้าอยากรู้เพิ่มเติมว่า Windows ใช้ไดรฟ์เวอร์ต่างๆ กับความจำยังไง หรืออยากวิเคราะห์ dump file เพื่อการพัฒนาระบบ/โปรแกรม Windows Debugger นี่แหละที่คุณต้องการ
-
ดาวน์โหลด Windows Software Development Kit (WDK). เป็นโปรแกรมที่มี WinDBG หรือโปรแกรมที่ต้องใช้เปิด dump file คุณดาวน์โหลดไฟล์ติดตั้ง WDK ได้จากเว็บของ Microsoft
-
เปิดไฟล์ sdksetup.exe . เปิดไฟล์ติดตั้งแล้วทำตามขั้นตอนที่ปรากฏ โดยไม่ต้องเปลี่ยนค่า default ใน 2 - 3 หน้าจอแรก
-
เลือกเฉพาะ "Debugging Tools for Windows" . ให้เอาติ๊กออก ไม่ต้องเลือกฟีเจอร์อื่นๆ เพราะเราแค่จะเปิด dump file แบบนี้จะช่วยประหยัดเวลาติดตั้ง แถมไม่เปลืองพื้นที่เก็บข้อมูลในคอม
-
รอจนดาวน์โหลดและติดตั้งไฟล์เสร็จ. ไม่กี่นาทีก็เสร็จแล้ว
-
เปิด Command Prompt ในฐานะแอดมิน. ต้องเปิด Command Prompt ขั้นสูง WinDBG ถึงจะวิเคราะห์ไฟล์ .dmp ได้ ให้เปิด Command Prompt จากในโฟลเดอร์ "system32"
- Windows 10 กับ 8 - คลิกขวาที่ปุ่ม Windows แล้วเลือก "Command Prompt (Admin)"
- Windows 7 - เปิดเมนู Start แล้วพิมพ์ cmd จากนั้นกด Ctrl + ⇧ Shift + ↵ Enter
-
เปิดโฟลเดอร์ debugger. พิมพ์คำสั่งต่อไปนี้เพื่อไปยังโฟลเดอร์ที่ถูกต้อง ถ้าใช้ Windows 10 ก็ copy ไป paste ได้เลย แต่ถ้าเป็นเวอร์ชั่นเก่าๆ ต้องพิมพ์เอง
- cd\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\
-
พิมพ์คำสั่งเพื่อ associate หรือพ่วง dump file. ให้พิมพ์คำสั่งต่อไปนี้เพื่อให้ WinDBG ใช้ไฟล์ .dmp ได้ ถ้าใช้ Windows 10 ก็ copy ไป paste ได้เลย
- windbg.exe -IA
- ถ้าพิมพ์คำสั่งถูกแล้ว หน้าต่าง WinDBG โล่งๆ จะโผล่ขึ้นมา ก็ปิดไปได้เลย
-
เปิด WinDBG. ต้องตั้งค่าให้ WinDBG โหลดไฟล์ที่เกี่ยวข้องจาก Microsoft ก่อน ถึงจะเปิดไฟล์ .dmp ได้ ขั้นตอนนี้ทำใน WinDBG ได้เลย
- วิธีเปิดโปรแกรมได้เร็วที่สุด คือกด ⊞ Win แล้วพิมพ์ "windbg"
-
คลิก "File" แล้วเลือก "Symbol File Path" . เพื่อเปิดหน้าต่างใหม่
-
copy แล้ว paste address ต่อไปนี้. path นี้ใช้บอก WinDBG ให้ดาวน์โหลดสัญลักษณ์ (symbol) ที่จำเป็นจาก Microsoft โดยตรง แล้วเซฟไว้ที่ C:\SymCache [3] X แหล่งข้อมูลอ้างอิง
- SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols
- โฟลเดอร์ C:\SymCache จะใหญ่ขึ้นเรื่อยๆ หลังคุณเปิด debug file และดาวน์โหลด symbol เพิ่มจาก Microsoft
-
หา dump file ที่จะวิเคราะห์. dump (.dmp) file จะถูกสร้างทุกครั้งที่ระบบล่ม ตามค่า default dump file จะอยู่ในโฟลเดอร์ C:\Windows\Minidump หลังระบบกลับมา บางทีก็อยู่ที่ C:\Windows\MEMORY.DMP ถ้าหาไฟล์ไม่เจอจริงๆ ก็ต้องตั้งค่าแสดงไฟล์ที่ถูกซ่อน (hidden file) ก่อน
- ถ้าใช้ Windows 10 กับ 8 ให้คลิก tab "View" ใน Windows Explorer แล้วติ๊กช่อง "Hidden items"
- ถ้าใช้ Windows 7 หรือเก่ากว่า ให้เปิด Folder Options ใน Control Panel คลิก tab "View" แล้วเลือก "Show hidden files, folders, and drives"
-
ดับเบิลคลิก dump file. ถ้าตั้งค่า WinDBG ถูกต้องตามที่แนะนำไปแล้ว WinDBG ก็จะเปิดขึ้นมาแล้วเริ่มประมวลผลไฟล์
-
รอจน dump file โหลดเสร็จ. ครั้งแรกที่เปิด dump file ต้องรอจนดาวน์โหลด symbol จาก Microsoft เสร็จ ห้ามไปขัดจังหวะตอนโปรแกรม WinDBG กำลังโหลดไฟล์เด็ดขาด
- ครั้งต่อไป dump file จะโหลดเร็วขึ้นอีกเยอะ เพราะมี symbol ที่ต้องใช้ในโฟลเดอร์ C:\SymCache แล้ว
- จะรู้ได้ว่า dump file โหลดเสร็จแล้ว คือเห็น Followup: MachineOwner โผล่มาท้ายไฟล์
-
หาบรรทัดที่เขียนว่า "Probably caused by". จะรู้ได้เร็วสุดว่าอะไรทำระบบล่ม WinDBG จะวิเคราะห์ dump file แล้วรายงานว่าไดรฟ์เวอร์หรือ process ไหนเป็นตัวปัญหา คุณก็เอาข้อมูลนี้ไปแก้ปัญหาแบบลงลึกหรือค้นคว้าเพิ่มเติมได้เลย
-
หาโค้ด BugCheck. dump file จะมีโค้ดของแต่ละ bug ที่เจอตอนระบบล่มด้วย ให้มองหาที่ด้านบนของบรรทัดที่เขียนว่า "Probably caused by" ปกติจะเป็นโค้ด 2 ตัวอักษร เช่น "9F"
- เข้าเว็บ Microsoft Bug Check Code Reference แล้วหาโค้ดที่ตรงกับ BugCode ที่เจอ โดยสังเกตตัวอักษร 2 ตัวสุดท้ายของแต่ละ entry [4] X แหล่งข้อมูลอ้างอิง
โฆษณา
ข้อมูลอ้างอิง
- ↑ http://www.howtogeek.com/196672/windows-memory-dumps-what-exactly-are-they-for/
- ↑ https://www.raymond.cc/blog/how-to-analyze-memory-dump-dmp-file/
- ↑ http://www.tenforums.com/tutorials/2082-windbg-install-configure.html
- ↑ http://www.tenforums.com/tutorials/5558-windbg-basics-debugging-crash-dumps-windows-10-a.html
โฆษณา