Visual Studio Code(VS Code)는 마이크로소프트가 개발한 코드 편집기로, 다양한 프로그래밍 언어를 지원하고 풍부한 확장 프로그램 생태계를 갖추고 있어 개발자들에게 가장 사랑받는 IDE 중 하나로 꼽힙니다. 하지만 일부 사용자들은 VS Code가 실행되자마자 또는 작업 도중 계속해서 충돌하는 문제를 겪고 있습니다. 이 글에서는 Windows 11/10에서 Visual Studio Code 충돌 문제를 해결하는 다양한 방법을 소개합니다.
"창이 충돌했습니다(The window has crashed)" 오류 수정
Visual Studio Code가 충돌하는 이유는?
사용자들이 겪는 상황은 크게 두 가지입니다. 하나는 VS Code를 열자마자 바로 종료되는 경우이고, 다른 하나는 프로젝트 작업 중간에 갑자기 충돌하는 경우입니다. 이러한 현상은 손상된 파일, 무한 루프 등 여러 가지 원인에서 비롯될 수 있습니다. 아래에서 가능한 해결 방법을 하나씩 자세히 살펴보겠습니다.
Windows 11/10에서 Visual Studio Code 충돌 해결 방법
다음 방법들을 통해 Visual Studio Code 충돌 또는 응답 없음 문제를 해결할 수 있습니다.
- 그래픽 드라이버 업데이트
- 하드웨어 가속 비활성화
- 열려 있던 파일의 백업 삭제
- VS Code 재설치
1. 그래픽 드라이버 업데이트
가장 먼저 시도해야 할 것은 그래픽 드라이버를 최신 버전으로 업데이트하는 것입니다. 오래된 그래픽 드라이버는 게임은 물론 개발 도구까지 제대로 구동하지 못하게 만들며, 특히 오랜 시간 실행되는 프로그램에서 충돌을 유발할 수 있습니다. 드라이버를 업데이트한 후에도 문제가 지속되는지 확인해 보세요.
2. 하드웨어 가속 비활성화
드라이버를 업데이트해도 문제가 계속된다면 GPU 하드웨어 가속을 끄는 방법을 시도해 보세요. 하드웨어 가속을 비활성화하면 VS Code가 소프트웨어 렌더링만 사용하게 되어 훨씬 안정적으로 동작합니다. 설정 방법은 다음과 같습니다.
- 시스템에서 Visual Studio Code를 실행합니다.
- Ctrl + Shift + P를 눌러 명령 팔레트(Command Palette)를 엽니다.
- 'Preferences: Configure Runtime Arguments'를 입력하고 Enter 키를 누릅니다.
- 열린 argv.json 파일에 아래 명령을 추가한 후 저장(Ctrl + S)합니다.
"disable-hardware-acceleration": true,
마지막으로 VS Code를 재시작하고 문제가 해결되었는지 확인합니다.
3. 열려 있던 파일의 백업 삭제
용량이 큰 파일을 열 때 VS Code가 멈췄다가 충돌한다면 백업 파일을 삭제해야 할 수 있습니다. 실행 창(Run)을 열고 '%AppData%'를 입력한 후 확인을 클릭하세요. 그다음 Code > Backup 폴더로 이동해 그 안에 있는 폴더를 삭제합니다. 마지막으로 VS Code를 재시작하고 문제가 지속되는지 확인합니다.
4. VS Code 재설치
위 방법으로도 해결되지 않는다면 VS Code 파일 자체가 손상되었을 가능성이 있습니다. 이 경우 기존 VS Code를 완전히 제거한 후 공식 웹사이트에서 최신 설치 파일을 내려받아 새로 설치해 보세요.
이 글에서 소개한 방법으로 충돌 문제가 잘 해결되기를 바랍니다.
무한 루프로 인한 VS Code 또는 시스템 충돌
애플리케이션이나 그래픽 드라이버에는 아무런 문제가 없는데도 VS Code가 충돌하거나, 심한 경우 시스템 전체가 함께 다운되는 경우가 있습니다. 이런 상황의 원인은 대부분 코드에 포함된 무한 루프(Infinite Loop)입니다.
무한 루프를 의도적으로 사용하는 경우라면 프로세스를 멈추지 못할 때 컴퓨터가 다운될 수 있다는 점을 이미 알고 있겠지만, 많은 경우 실수로 무한 루프를 작성하게 됩니다.
무한 루프란 종료 조건이 없어 프로세스가 끝나지 않는 반복문을 말합니다. 예를 들어 다음 코드를 보세요.
int x;
for (x = 5; x>4; x++)
{
//some code
}
이 경우 조건식(x>4)은 x가 계속 증가하기 때문에 항상 참이므로 루프가 끝나지 않습니다.
따라서 무한 루프를 실수로 작성하지 않았는지 항상 주의해야 합니다. 만약 실수로 그런 루프를 작성했다면 출력 결과를 주의 깊게 관찰하세요. 원치 않는 결과가 연속적으로 출력되기 시작하면 바로 Ctrl + Alt + M을 눌러 프로세스를 종료하면 됩니다.
이렇게 하면 코드를 안전하게 멈추고 컴퓨터가 다운되는 것을 막을 수 있습니다.
함께 읽으면 좋은 글:
- Windows용 최고의 무료 C++ IDE
- Visual Studio Code에 필수적인 C++ 확장 프로그램