3줄 요약
① 대부분 문제 프로그램 복구·재설치로 잡힙니다.
② 여러 프로그램에서 반복된다면 Visual C++ 재배포 패키지 손상을 의심하세요.
③ 그래도 안 되면 SFC 검사와 클린 부팅으로 충돌 요인을 찾아야 합니다.
💻 자꾸 튕기던 프로그램, 무슨 일이었나
얼마 전 회사에서 자주 쓰던 그래픽 편집 프로그램을 켜놓고 작업하던 중이었습니다. 저장 버튼을 누르는 순간 화면이 멈추더니 새까만 창에 "Microsoft Visual C++ Runtime Library - Runtime Error! R6025 - pure virtual function call"이라는 낯선 메시지가 떴습니다. 확인을 누르면 프로그램이 그대로 강제 종료돼 버렸고, 저장 안 된 작업은 그대로 날아갔습니다. 처음엔 그냥 재부팅하면 되겠지 싶었는데, 다시 켜서 몇 분 작업하면 또 같은 창이 떴습니다. 검색해보니 이 오류는 특정 프로그램 하나에만 국한된 게 아니라 게임, 오피스 프로그램, 심지어 자체 제작 툴에서도 종종 발생한다는 걸 알게 됐습니다. 재설치, 드라이버 업데이트, 백신 예외 등록까지 이것저것 시도해보다가 결국 순서를 제대로 잡고 나서야 완전히 잡혔습니다. 이 글에서는 제가 실제로 겪고 해결한 순서 그대로, 증상 확인부터 원인, 그리고 단계별 해결 방법까지 정리해두겠습니다.
⚠️ 증상과 오류 메시지 확인
R6025 오류는 대체로 검은 배경에 흰색 텍스트로 뜨는 도스 창 느낌의 대화상자로 나타납니다. 정확한 문구는 프로그램마다 조금씩 다르지만 공통적으로 R6025 - pure virtual function call이라는 코드가 포함됩니다. 특징적인 부분은 오류 자체가 프로그램 실행 직후가 아니라, 특정 기능(저장, 인쇄, 내보내기, 특정 메뉴 진입 등)을 사용하는 순간 갑자기 튀어나온다는 점입니다. 확인을 누르면 프로그램이 즉시 강제 종료되고, 작업 중이던 내용은 저장되지 않은 상태로 사라집니다. 이벤트 뷰어(eventvwr.msc)의 '응용 프로그램' 로그를 보면 해당 프로그램 이름과 함께 오류 시각이 기록돼 있어, 어떤 동작 직후에 문제가 발생했는지 역추적할 때 도움이 됩니다. 한 번만 뜨고 안 뜨는 경우도 있지만, 저처럼 특정 작업을 반복할 때마다 재현된다면 아래 해결 방법을 순서대로 시도해보시길 권합니다.
🔍 런타임 오류 R6025는 왜 뜰까
조금 어려운 용어지만 쉽게 풀어보면, R6025는 Visual C++로 만들어진 프로그램 내부에서 아직 실체가 없는(구현되지 않은) 함수를 잘못된 시점에 호출하려고 할 때 발생하는 오류입니다. 프로그램을 만든 개발사 입장에서는 코드 결함이지만, 사용자 입장에서 흔히 만나는 원인은 크게 세 가지입니다. 첫째, 프로그램 설치 파일 자체가 손상되었거나 오래된 버전이라 최신 시스템 환경과 맞지 않는 경우입니다. 둘째, 시스템에 깔린 Visual C++ 재배포 패키지가 손상되었거나 여러 버전이 꼬여 충돌하는 경우입니다. 셋째, 그래픽 드라이버나 백신 프로그램이 실행 중인 프로세스와 충돌해 함수 호출 순서를 방해하는 경우입니다. 저는 재배포 패키지 쪽이 원인이었는데, 사람마다 상황이 달라 아래 해결 방법을 순서대로 시도해보며 어떤 것이 내 경우에 맞는지 확인하는 게 가장 빠릅니다.
🛠️ 해결 방법 1 — 문제 프로그램 복구·재설치
가장 먼저 시도해야 할 것은 오류가 나는 프로그램 자체를 복구하거나 재설치하는 것입니다. 아래 명령으로 '프로그램 및 기능' 창을 바로 열 수 있습니다.
Win+R을 눌러 위 명령을 입력하고 Enter를 누르면 설치된 프로그램 목록이 뜹니다. 문제가 되는 프로그램을 선택한 뒤 상단의 '복구' 버튼이 있다면 먼저 복구를 시도하고, 복구 옵션이 없다면 '제거'를 눌러 완전히 삭제한 뒤 공식 홈페이지에서 최신 설치 파일을 다시 받아 설치합니다. 이때 재설치 전에 이전 설정 폴더(보통 사용자 문서나 AppData 안)를 남겨둘지 확인하고, 가능하면 최신 버전으로 업데이트해서 설치하는 것이 좋습니다. 저는 이 단계에서 한 번은 증상이 잠깐 사라졌다가 며칠 뒤 다시 나타났는데, 결국 다음 단계인 재배포 패키지 쪽이 진짜 원인이었습니다. 이래도 안 되면 다음 단계로 넘어가세요.
🛠️ 해결 방법 2 — Visual C++ 재배포 패키지 재설치
여러 프로그램에서 R6025가 뜨거나, 방법 1로도 해결되지 않았다면 Visual C++ 재배포 패키지 손상을 의심해야 합니다. 먼저 '프로그램 및 기능' 목록에서 'Microsoft Visual C++' 로 시작하는 항목들을 모두 확인합니다. 버전이 여러 개 중복 설치되어 있거나 이름 뒤에 특이한 표시가 있다면 손상된 상태일 가능성이 큽니다. 가장 안전한 방법은 기존 항목을 제거하지 말고, 공식 페이지에서 최신 재배포 패키지를 받아 '복구' 옵션으로 재설치하는 것입니다. 복구 옵션이 없다면 제거 후 아래 공식 페이지를 참고해 최신 버전을 새로 설치합니다.
🔗 공식 안내 페이지 — Microsoft Learn (Visual C++ 재배포 가능 패키지) learn.microsoft.com의 최신 지원 Visual C++ 재배포 다운로드 안내 페이지 · 무료 · 본인 시스템(x64/x86)에 맞는 항목을 페이지에서 직접 선택설치 후에는 반드시 재부팅하고 나서 오류가 났던 프로그램을 다시 실행해 확인합니다. 저는 이 단계에서 실제로 증상이 사라졌는데, 알고 보니 오래전 다른 프로그램을 지우면서 재배포 패키지 일부 파일이 같이 손상됐던 것이 원인이었습니다.
🛠️ 해결 방법 3 — SFC 검사와 클린 부팅
방법 1, 2로도 해결되지 않는다면 시스템 파일 손상이나 다른 프로그램과의 충돌을 의심해야 합니다. 먼저 관리자 권한 명령 프롬프트에서 아래 명령을 차례로 실행합니다.
DISM /Online /Cleanup-Image /RestoreHealth
시작 메뉴에서 'cmd'를 검색해 '관리자 권한으로 실행'을 선택한 뒤 위 명령을 순서대로 입력하고 완료될 때까지 기다립니다. 검사가 끝났는데도 같은 오류가 반복된다면 다른 프로그램(특히 백신, 오버레이 프로그램, 오래된 유틸리티)과의 충돌을 의심하고 클린 부팅으로 확인해봅니다.
Win+R에서 위 명령을 입력해 시스템 구성 창을 열고, '서비스' 탭에서 '모든 Microsoft 서비스 숨기기'를 체크한 뒤 '모두 사용 안 함'을 누릅니다. 이어서 '시작프로그램' 탭에서 작업 관리자를 열어 불필요한 시작 프로그램을 하나씩 꺼봅니다. 재부팅 후 문제가 재현되지 않으면, 껐던 항목을 하나씩 다시 켜면서 어떤 프로그램이 충돌 원인인지 좁혀갈 수 있습니다. 저는 이 단계까지 가지 않고 방법 2에서 해결됐지만, 여러 프로그램 후기를 보면 오래된 백신이나 오버레이 툴이 원인인 경우가 꽤 많았습니다.
🧩 그래도 안 될 때 / 원인별 대처표
위 세 가지 방법으로도 해결되지 않는다면 아래 표를 참고해 내 상황에 맞는 원인을 다시 짚어보세요.
| 발생 패턴 | 의심 원인 | 대처 |
|---|---|---|
| 특정 프로그램 한 개에서만 | 그 프로그램 설치 손상·구버전 | 복구·재설치, 최신 버전 업데이트 |
| 여러 프로그램에서 랜덤으로 | Visual C++ 재배포 패키지 손상 | 공식 페이지에서 재배포 패키지 재설치 |
| 특정 기능(저장·출력) 사용 시 | 백신·오버레이 툴 충돌 | 클린 부팅으로 충돌 프로그램 확인 |
| 재설치해도 즉시 재발 | 시스템 파일 손상 | sfc /scannow, DISM 복구 |
그래도 계속된다면 프로그램 개발사 공식 지원 페이지에 오류 로그(이벤트 뷰어 내용)와 함께 문의하는 것도 방법입니다. 개발사 쪽 코드 결함일 경우 사용자 선에서 완전히 해결이 안 될 수도 있습니다.
❓ 자주 묻는 질문
Q. R6025 오류는 특정 프로그램에서만 뜨나요?
그런 경우가 많지만 재배포 패키지가 손상됐다면 여러 프로그램에서 동시에 발생할 수 있습니다. 두 개 이상의 프로그램에서 같은 오류가 뜬다면 방법 2부터 시도하는 게 효율적입니다.
Q. 게임을 할 때도 이 오류가 뜰 수 있나요?
네, Visual C++ 기반으로 만들어진 구형 게임이나 일부 런처에서도 발생할 수 있습니다. 해결 순서는 이 글과 동일하게 적용하면 됩니다.
Q. R6025와 R6034 오류는 같은 건가요?
둘 다 Visual C++ 런타임 오류라는 점은 같지만 원인은 다릅니다. R6034는 매니페스트(구성 정보) 관련 문제, R6025는 순수 가상 함수 호출 문제로 구분됩니다.
Q. 재설치해도 계속 뜬다면 하드웨어 문제일까요?
드문 경우지만 메모리 불량이 원인일 수도 있습니다. 위 방법을 모두 시도했는데도 무작위로 재현된다면 메모리 진단 도구로 점검해보는 것도 고려해볼 만합니다.
✅ 마무리
런타임 오류 R6025는 겉보기엔 무섭지만 순서대로 짚어가면 대부분 잡히는 오류입니다. 먼저 문제 프로그램을 복구·재설치해보고, 여러 프로그램에서 반복된다면 Visual C++ 재배포 패키지를 공식 페이지에서 다시 받아 설치하세요. 그래도 안 되면 SFC·DISM으로 시스템 파일을 점검하고 클린 부팅으로 충돌 프로그램을 찾는 순서로 진행하면 됩니다. 저도 이 순서를 다 거치고 나서야 며칠 동안 저를 괴롭히던 오류에서 벗어날 수 있었습니다.
#런타임오류R6025 #R6025오류해결 #프로그램강제종료 #VisualC재배포패키지 #SFC스캔나우 #윈도우프로그램오류 #프로그램오류해결 #컴퓨터오류 #윈도우11오류 #디스크립트에러
