TECHNICAL RESOURCE

REFERENCE_BY_POINTER (0x00000018) 시스템 객체 참조 횟수 오류: 원인과 점검 및 해결 방법

Windows가 관리하는 객체의 사용 횟수가 현재 객체 상태와 맞지 않을 때 발생하는 오류입니다. 객체를 사용하고 해제하는 드라이버의 동작을 확인해야 하며, 포인터라는 이름만으로 메모리 부품 불량을 뜻하지 않습니다.

01

오류 설명

Windows가 관리하는 객체의 사용 횟수가 현재 객체 상태와 맞지 않을 때 발생하는 오류입니다. 객체를 사용하고 해제하는 드라이버의 동작을 확인해야 하며, 포인터라는 이름만으로 메모리 부품 불량을 뜻하지 않습니다.

비슷한 오류와 적용 조건의 차이

BAD_POOL_CALLER (0x000000C2)가 메모리 풀의 잘못된 요청을 나타내는 것과 달리 이 코드는 객체의 참조 횟수에 관한 오류입니다.

확인한 개별 공식 문서에서 이 코드의 전체 지원 Windows 버전 범위를 명확히 확인하지 못했습니다. 현재 문서가 존재한다는 사실이나 개정일만으로 최신 Windows 적용을 확정하지 않습니다.

02

주요 원인

다음은 공식 문서가 설명하는 원인과 발생 조건입니다. 현재 컴퓨터에서 모두 확인됐다는 뜻은 아니며 기록과 점검 결과로 해당 여부를 구분합니다.

객체 사용과 해제의 횟수 불일치

드라이버는 객체를 사용할 때 참조 횟수를 늘리고 사용을 마치면 줄여야 합니다. 공식 문서는 해제 함수를 너무 많이 호출하는 경우를 일반적인 원인으로 설명합니다.

사용 중인 객체의 참조 횟수가 잘못된 경우

열린 핸들이 남아 있는데 참조 횟수가 0이 되거나 참조 횟수가 음수가 되는 상태에서 발생할 수 있습니다.

03

점검할 부분

최근 설치하거나 바꾼 드라이버

변경 날짜와 오류 시작 시점이 맞는지 확인합니다.

오류가 반복되는 장치 작업

특정 주변기기, 파일 작업 또는 프로그램과의 연관성을 기록합니다.

객체 주소와 덤프

두 번째 인수와 반복 덤프를 보존해 같은 객체 처리 경로인지 확인합니다.

화면, 발생 작업과 Windows 버전

전체 중지 코드와 정식 이름, 표시된 파일명, 발생 시각을 사진이나 메모로 남깁니다. 어떤 프로그램과 장치를 사용했는지, 로그인 전인지 또는 작업 중인지도 함께 적습니다.

Windows가 열리면 Windows 키와 R 키를 눌러 실행 창을 열고 winver를 실행해 제품과 운영체제 빌드를 기록하고, msinfo32에서 장비 모델 및 기본 입출력 시스템 버전을 확인합니다. 업데이트 전후 비교에는 장치 드라이버 공급자와 버전도 필요합니다.

같은 시각의 이벤트와 재부팅 기록

Windows 키와 R 키를 눌러 실행 창을 열고 eventvwr.msc를 입력하고 Windows 로그 > 시스템을 엽니다. 오류 직전과 직후의 메시지에서 원본, 이벤트 식별번호, 전체 설명과 장치 정보를 보존합니다. 필요하면 응용 프로그램 로그도 같은 시각으로 확인합니다.

Kernel-Power 이벤트 41은 정상 종료되지 않은 뒤 시작됐다는 기록입니다. 이것만으로 파워서플라이 고장이나 특정 드라이버 원인을 판정하지 않습니다. 블루스크린 이전의 실제 장치 및 프로그램 오류와 구분합니다.

덤프 위치와 생성되지 않았을 때의 확인

Windows가 생성한 작은 덤프는 보통 %SystemRoot%\Minidump, 자동 또는 커널 덤프는 %SystemRoot%\MEMORY.DMP에 저장됩니다. %SystemRoot%는 대개 C:\Windows이지만 설치 환경에 따라 다릅니다. 파일의 생성 시각이 이번 오류와 맞는지 확인하고 원본 사본을 보존합니다.

덤프가 없으면 Windows 검색에서 고급 시스템 설정 보기 > 고급 > 시작 및 복구의 설정 > 디버깅 정보 쓰기를 확인합니다. 자동 메모리 덤프 등 필요한 형식을 선택할 때 페이지 파일과 저장 공간 조건도 함께 확인하고 적용에 필요한 재시작을 진행합니다. 다음 오류 이전에 설정을 바꿔도 과거 오류의 덤프가 새로 생기지는 않습니다.

작은 덤프에는 원인 분석에 필요한 메모리가 빠질 수 있습니다. 분석 담당자가 추가 자료를 요구하면 덤프 형식과 수집 조건을 조정합니다. 덤프에는 메모리 속 정보가 포함될 수 있으므로 원본을 공개 게시판에 그대로 올리지 말고 필요한 담당자에게 전달합니다.

공식 인수와 판단 기준

인수의 의미는 오류마다 다릅니다. 아래에 해당 코드의 공식 정의가 있는 항목만 정리했습니다.

이 오류에서 확인할 인수
인수 또는 조건공식 의미확인과 판단
인수 1참조 횟수가 감소하는 객체의 유형객체 종류에 맞춰 분석합니다.
인수 2참조 횟수가 감소하는 객체!object에 사용할 실제 주소를 확인합니다.
인수 3과 4예약의미를 임의로 채우지 않습니다.
04

해결 방법

확인된 단서에 맞는 조치를 선택하고 변경 한 항목과 결과를 기록합니다. 아래 절차를 모든 컴퓨터에서 한꺼번에 실행하지 않습니다.

Windows에 로그인할 수 있을 때

열린 작업과 중요한 데이터를 먼저 저장한 뒤 오류 기록과 덤프를 확보합니다. 최근 장치, 드라이버 및 프로그램 변경은 날짜와 버전으로 정리합니다. 정상 부팅된다는 이유만으로 기록을 삭제하거나 모든 드라이버를 한꺼번에 바꾸지 않습니다.

로그인 전에 반복되거나 복구 화면만 열릴 때

전원 메뉴를 사용할 수 있으면 Shift를 누른 상태로 다시 시작을 선택합니다. Windows 11에서는 설정 > 시스템 > 복구 > 고급 시작 옵션의 지금 다시 시작으로도 접근할 수 있습니다. Windows 10의 복구 메뉴는 업데이트 및 보안 아래에 있습니다.

Windows 복구 환경에서 문제 해결 > 고급 옵션 > 시작 설정 > 다시 시작을 선택하고 4 또는 F4로 안전 모드를 시작합니다. 메뉴 제공 여부는 장치와 설치 상태에 따라 다르며 암호화된 장치에는 BitLocker 복구 키가 필요할 수 있습니다. 안전 모드의 정상 동작은 비교 단서이고 모든 하드웨어가 정상이라는 증명은 아닙니다.

복구 키가 없거나 디스크가 인식되지 않거나 중요한 파일을 읽을 수 없으면 수정 작업보다 자료와 장치 상태 확인을 우선합니다. 설치 매체를 사용하더라도 컴퓨터 복구와 새 설치를 구분하고, 데이터 보존 전에 초기화나 포맷을 선택하지 않습니다.

01 발생 작업과 시스템 기록 대조

실행: 이벤트 뷰어의 Windows 로그 > 시스템에서 같은 시각의 오류와 최근 장치 드라이버 변경을 확인합니다.

결과와 판단: 객체 참조 횟수 오류와 함께 특정 드라이버의 메시지가 반복되는지 살펴봅니다.

다음 조치: 관련 패키지의 지원 버전과 제조사 수정 안내를 확인합니다.

02 관련 드라이버를 한 항목씩 조정

실행: 업데이트 뒤 시작됐다면 지원되는 롤백을, 알려진 수정이 있으면 해당 모델의 공식 업데이트를 검토합니다.

결과와 판단: 정상 부팅과 원래 장치 작업을 다시 확인하고 새 덤프의 코드가 같은지 기록합니다.

다음 조치: 재발하면 여러 덤프의 객체 주소와 호출 경로를 비교하도록 분석을 요청합니다.

03 객체의 핸들과 포인터 횟수 분석

실행: 전문 분석에서 두 번째 인수의 실제 객체 주소에 !object를 적용해 핸들과 포인터 횟수를 확인합니다.

결과와 판단: 참조 횟수를 줄인 호출이 잘못됐는지와 객체가 아직 사용 중이었는지를 구분해야 합니다.

다음 조치: 해당 드라이버의 참조 증가와 감소 호출을 수정하며 일반 사용자가 횟수나 메모리 주소를 직접 바꾸지 않습니다.

드라이버를 되돌릴 때의 확인 경로

장치 드라이버를 되돌릴 필요가 있을 때는 시작 버튼을 오른쪽 클릭해 장치 관리자를 열고 해당 장치 > 속성 > 드라이버 > 드라이버 롤백을 확인합니다. 관리자 권한과 이전 패키지가 필요하며, 버튼이 비활성화되면 제조사의 해당 모델 및 Windows 버전용 패키지를 확인합니다. 부팅 저장장치나 원격 접속용 장치를 임의로 비활성화하지 않습니다.

조치 후 확인과 중단 기준

변경한 버전과 재시작 여부를 기록하고 오류가 났던 원래 작업을 다시 확인합니다. 부팅 성공, 진단 도구 통과와 실제 증상 재발 없음을 각각 구분해 남깁니다.

중요한 데이터에 접근할 수 없거나 저장장치 미인식과 반복 읽기 실패, 복구 키 미확보가 있으면 수정 작업을 멈춥니다. 원인을 확인하기 위해 초기화와 포맷, 드라이버 대량 삭제를 먼저 진행하지 않습니다.

05

자주 묻는 질문

특정 프로그램만 지우면 되나요?

프로그램과의 연관성이 확인돼도 그 프로그램이 사용하는 드라이버나 시스템 구성의 문제일 수 있습니다. 변경 이력과 덤프를 함께 봐야 합니다.

포인터 오류면 시스템 메모리를 교체하나요?

코드의 직접 의미는 객체 참조 횟수 오류입니다. 부품 교체 여부는 별도의 진단 근거가 필요합니다.

06

참고 자료

이 글은 Microsoft 공식 문서의 코드 의미와 도구 사용 조건을 기준으로 정리한 일반 점검 안내입니다. 실제 장비에서 원인을 확정한 작업사례가 아니며, 메뉴 이름과 제공 기능은 Windows 빌드 및 장비 구성에 따라 달라질 수 있습니다.

검토 기준일은 2026년 10월 24일입니다. 공식 문서의 예전 메뉴와 현재 복구 환경은 같지 않을 수 있으며 적용 대상과 원문 조건을 함께 확인합니다.

REFERENCE_BY_POINTER (0x00000018) 공식 코드 문서

Windows 중지 오류의 기본 점검

Windows 복구 환경

장치 관리자에서 드라이버 업데이트와 롤백

관련 용어와 글

관련 기술자료

TECHNICAL RESOURCES CONTACT

확인하려는 기술 내용과 사용 환경을 알려주세요

장비와 운영 환경, 확인한 오류나 자료 내용을 알려주시면 필요한 안내와 상담 범위를 확인합니다.