Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Windows 11/10에서 EXCEPTION_ACCESS_VIOLATION 오류 해결하는 방법

애플리케이션을 실행하려고 할 때 EXCEPTION_ACCESS_VIOLATION 오류 메시지가 나타나는 사용자들이 늘고 있습니다. 이 문제는 특정 프로그램에만 국한되지 않고, 시스템에 설치된 거의 모든 애플리케이션에서 발생할 수 있습니다. 일부 사용자는 자바(Java)를 설치하려는 시점에 이 오류를 경험하기도 합니다.

이 오류는 실행하려는 프로그램이 보호된 메모리 주소에 접근하려고 시도할 때 발생합니다. 경우에 따라 오류 메시지에서 문제의 원인이 되는 파일을 확인할 수 있기도 합니다. 게임 역시 예외가 아니어서, 여러 사용자가 게임을 실행할 때 동일한 문제를 겪은 사례가 보고되었습니다. 또한 백그라운드에서 실행 중인 서드파티(타사) 프로그램이 원인인 경우도 많으며, 이런 경우에는 해당 프로그램만 제거하면 비교적 쉽게 해결됩니다.

아래에서 이 오류를 해결할 수 있는 다양한 방법을 단계별로 소개하니, 하나씩 차례로 적용해 보시기 바랍니다.

1. Discord 인게임 오버레이 비활성화

오류가 발생했다면 가장 먼저 Discord 오버레이 기능을 꺼보는 것이 좋습니다. 특히 게임을 실행하려는데 오류가 반복적으로 나타난다면 효과적인 방법입니다. Discord는 단축키로 게임 내에서 빠르게 앱에 접근할 수 있는 인게임 오버레이 기능을 제공하며, 통화 중인 다른 사용자의 아바타와 이름도 화면에 표시해 줍니다.

실제로 유사한 문제를 겪은 사용자들의 상당수가 Discord 오버레이가 원인이었던 것으로 확인되었습니다. 오버레이를 비활성화하는 방법은 다음과 같습니다.

  1. PC에서 Discord 클라이언트를 실행합니다.
  2. 사용자 이름 옆의 톱니바퀴 아이콘을 클릭하여 설정 메뉴로 이동합니다.
  3. 설정 메뉴 왼쪽 하단에서 게임 오버레이(Game Overlay) 옵션을 선택합니다.
  4. 인게임 오버레이 활성화(Enable in-game overlay) 스위치를 끕니다.
  5. 완료 후 앱을 다시 실행하여 오류 메시지가 여전히 나타나는지 확인합니다.

2. 사용자 계정 컨트롤(UAC) 임시 비활성화

앞서 언급했듯이 일부 사용자는 자바 설치 과정에서 이 문제를 겪습니다. 물론 자바뿐 아니라 다른 애플리케이션에서 오류가 발생할 때도 이 방법을 활용할 수 있습니다. UAC(User Account Control)는 컴퓨터의 프로그램이 변경 작업을 시도하거나 새 앱을 설치하려 할 때 알림을 띄우는 Windows의 보안 기능입니다.

다만 보안상의 이유로 UAC는 일시적으로만 비활성화하고, 문제가 되는 앱의 설치나 실행이 끝나면 반드시 다시 켜두는 것을 권장합니다. 설정 방법은 다음과 같습니다.

  1. 시작 메뉴에서 제어판(Control Panel)을 검색하여 엽니다.
  2. 제어판에서 시스템 및 보안(System and Security)으로 이동합니다.
  3. 보안 및 유지 관리 항목 아래의 사용자 계정 컨트롤 설정 변경을 클릭합니다.
  4. 새 창이 열리면 슬라이더를 맨 아래로 내린 후 확인 버튼을 누릅니다.
  5. 이후 UAC가 비활성화됩니다. 앱을 다시 실행하여 오류가 사라졌는지 확인합니다.

3. 데이터 실행 방지(DEP) 예외 목록에 프로그램 추가

DEP(Data Execution Prevention, 데이터 실행 방지)는 Microsoft에서 제공하는 보안 기능으로, 메모리의 특정 영역을 감시·보호하고 악성 코드가 실행되는 것을 차단합니다. DEP가 활성화되면 기본적으로 모든 데이터 영역은 실행 불가능한 상태로 유지됩니다.

문제가 되는 앱을 DEP의 예외 목록(화이트리스트)에 등록하면 오류를 해결할 수 있습니다. 절차는 다음과 같습니다.

  1. 시작 메뉴에서 제어판을 검색하여 엽니다.
  2. 시스템 및 보안으로 이동합니다.
  3. 시스템(System) 옵션을 클릭합니다.
  4. 다음 화면에서 고급 시스템 설정을 선택합니다. 그러면 시스템 속성 창이 열립니다.
  5. 성능 항목에서 설정 버튼을 클릭합니다.
  6. 데이터 실행 방지(DEP) 탭으로 전환합니다.
  7. 다음 선택한 프로그램을 제외한 모든 프로그램 및 서비스에 대해 DEP 사용 옵션을 선택합니다.
  8. 추가 버튼을 클릭한 뒤, 오류가 발생하는 프로그램의 실행 파일(.exe)을 찾아 선택하고 열기를 누릅니다.
  9. 적용을 클릭한 후 확인을 눌러 마무리합니다.
  10. 마지막으로 앱을 다시 실행하여 문제가 해결되었는지 확인합니다.

4. 클린 부팅(Clean Boot) 수행

위의 방법들로도 문제가 해결되지 않는다면, 서드파티 프로그램 간의 충돌이 원인일 가능성이 높습니다. 타사 앱은 이런 오류를 자주 일으키며, 대부분 제거하면 해결되지만 어떤 앱이 범인인지 찾는 것이 어려운 부분입니다.

이럴 때 유용한 것이 바로 클린 부팅입니다. 클린 부팅을 수행하면 운영체제가 필수 서비스만 백그라운드에서 실행된 상태로 시작되며, 모든 타사 앱은 시작 시 비활성화됩니다. 클린 부팅 후 문제가 사라졌다면 원인이 서드파티 앱이라는 뜻이므로, 서비스를 하나씩 활성화해 가며 범인을 좁혀갈 수 있습니다. 진행 방법은 다음과 같습니다.

  1. 키보드에서 Windows 키 + R을 눌러 실행 대화 상자를 엽니다.
  2. 실행 창에 msconfig를 입력하고 Enter 키를 누릅니다.
  3. 시스템 구성 창이 열리면 서비스(Services) 탭으로 이동합니다.
  4. 모든 Microsoft 서비스 숨기기(Hide all Microsoft services) 체크박스에 체크합니다.
  5. 모두 사용 안 함(Disable all) 버튼을 클릭한 후 적용을 누릅니다.
  6. 시작프로그램(Startup) 탭으로 전환한 뒤 작업 관리자 열기를 클릭합니다.
  7. 작업 관리자에서 시작프로그램 항목을 하나씩 선택하며 사용 안 함 버튼을 누릅니다.
  8. 완료 후 PC를 재부팅합니다.
  9. 시스템이 부팅되면 문제가 되던 앱을 실행하여 오류가 여전히 발생하는지 확인합니다.

클린 부팅 상태에서 오류가 사라졌다면, 서비스와 시작프로그램을 절반씩 묶어서 활성화·비활성화를 반복하면 더 빠르게 원인 프로그램을 찾을 수 있습니다. 원인을 특정했다면 해당 프로그램을 업데이트하거나 제거하여 문제를 최종 해결하세요.