Visual Studio Code (VS Code) ของ Microsoft ถือเป็นหนึ่งใน IDE ที่ดีที่สุดสำหรับนักพัฒนา รองรับภาษาโปรแกรมหลากหลาย และมี Extensions มากมายที่ติดตั้งเพิ่มเติมได้ ทำให้สภาพแวดล้อมการเขียนโค้ดสมบูรณ์ขึ้น อย่างไรก็ตาม ผู้ใช้หลายคนเผชิญปัญหา VS Code ค้างหรือปิดตัวเอง (Crash) บ่อยครั้ง บทความนี้จะแนะนำวิธีแก้ไขปัญหา Visual Studio Code ค้างหรือ Crash บน Windows 11/10 ให้หมดปัญหา
สาเหตุที่ Visual Studio Code Crash บนคอมพิวเตอร์
ปัญหา Crash มักเกิดใน 2 รูปแบบ: 1) Crash ทันทีที่เปิดโปรแกรม และ 2) Crash ระหว่างเขียนโค้ด/ทำงานโปรเจกต์ สาเหตุหลักๆ มีดังนี้:
- ไฟล์ระบบของ VS Code เสียหาย (Corrupted files)
- Graphics Driver เก่าเกินกว่าหรือไม่เข้ากันได้
- Hardware Acceleration (การเร่งการทำงานด้วย GPU) ทำงานผิดปกติ
- ไฟล์ Backup ของโปรเจกต์ขนาดใหญ่ทำให้หน่วยความจำเต็ม
- Infinite Loop (ลูปไม่มีเงื่อนไขหยุด) ในโค้ดที่เขียน
วิธีแก้ไข Visual Studio Code Crash บน Windows 11/10
1. อัปเดต Graphics Driver
ขั้นตอนแรกและสำคัญที่สุดคืออัปเดต Driver การ์ดจอ (Graphics Driver) ให้เป็นเวอร์ชันล่าสุด Driver เก่าจะทำให้แอปพลิเคชันที่ใช้ทรัพยากรกราฟิกสูง (รวมถึง VS Code) ทำงานไม่เสถียรหรือ Crash
- ไปที่เว็บไซต์ของผู้ผลิตการ์ดจอ (NVIDIA, AMD, Intel) เพื่อดาวน์โหลด Driver ล่าสุด
- หรือใช้ Windows Update > Optional Updates เพื่อตรวจสอบ Driver ใหม่
- Restart คอมพิวเตอร์หลังติดตั้งเสร็จ
2. ปิด Hardware Acceleration
หากปัญหายังคงอยู่ ให้ลองปิด GPU Hardware Acceleration เพื่อให้ VS Code ใช้ Software Rendering แทน ซึ่งมักทำให้เสถียรมากขึ้น
- เปิด Visual Studio Code
- กด Ctrl + Shift + P เพื่อเปิด Command Palette
- พิมพ์
Preferences: Configure Runtime Argumentsแล้วกด Enter - เพิ่มโค้ดต่อไปนี้ในไฟล์ที่เปิดขึ้น แล้วบันทึก (Ctrl + S):
"disable-hardware-acceleration": true,
Restart VS Code แล้วทดสอบว่าปัญหาหายไปหรือยัง
3. ลบไฟล์ Backup ของไฟล์ที่เปิดอยู่
หาก VS Code ค้าง/ Crash ตอนเปิดไฟล์ขนาดใหญ่ ให้ลบโฟลเดอร์ Backup
- กด Win + R พิมพ์
%AppData%กด Enter - เข้าโฟลเดอร์
Code > Backup - ลบโฟลเดอร์เดียวที่อยู่ภายใน (มักชื่อเป็นตัวเลข/อักษรสุ่ม)
- Restart VS Code
4. ติดตั้ง VS Code ใหม่ (Reinstall)
หากวิธีข้างต้นไม่ได้ผล อาจเป็นไฟล์โปรแกรมเสียหาย ให้ Uninstall VS Code แล้วดาวน์โหลดติดตั้งใหม่จากเว็บไซต์ทางการ
กรณี Infinite Loop ทำให้ VS Code หรือระบบ Crash
บางครั้งไม่ใช่ปัญหาของแอปหรือ Driver แต่เป็นโค้ดที่เขียนเองที่มี Infinite Loop (ลูปไม่มีเงื่อนไขหยุด) ทำให้ CPU ทำงานเต็มที่ จนระบบค้างหรือ Crash
ตัวอย่าง Infinite Loop
int x;
for (x = 4; x > 4; x++) {
// โค้ดบางอย่าง
}
เงื่อนไข x > 4 จะเป็นจริงตลอดเวลา (เพราะ x เริ่มที่ 4 แล้วเพิ่มขึ้นเรื่อยๆ) ทำให้ลูปไม่มีวันสิ้นสุด
วิธีป้องกันและจัดการ
- ตรวจสอบเงื่อนไข Loop ให้มีการเปลี่ยนแปลงค่าที่ทำให้ Loop หยุดได้
- ระหว่างรันโค้ด ให้สังเกต Output หากเห็นข้อมูลซ้ำๆ มาก ให้หยุดโปรเซสทันทีด้วย Ctrl + Alt + M (หรือ Task Manager)
- ใช้ Debugger และ Breakpoints เพื่อติดตาม Logic ของ Loop
สรุป
ลองใช้วิธีแก้ไขตามลำดับด้านบน โดยส่วนใหญ่ปัญหาจะแก้ได้ด้วยการอัปเดต Driver หรือปิด Hardware Acceleration หากยังไม่หาย ให้ลองลบ Backup หรือ Reinstall โปรแกรม และอย่าลืมตรวจสอบโค้ดของตัวเองว่ามี Infinite Loop หรือไม่
อ่านเพิ่มเติม
- Best Free C++ IDE for Windows
- Best C++ Extensions for Visual Studio Code