일부 Windows 사용자는 컴퓨터를 시작할 때마다 SmartHeap 라이브러리 오류가 표시된다고 보고하고 있습니다. 모든 경우에 팝업 내부의 오류 메시지는 MEM_BAD_POINTER / MEM_BAD_POINTER입니다. 사용자가 확인을 클릭하든 취소를 클릭하든 최종 결과는 동일합니다. 컴퓨터는 정상적으로 작동하지만 다음 시스템 시작 시 오류 메시지가 반환됩니다.
SmartHeap 라이브러리란 무엇입니까?
Smartheap은 이전에 특정 프로그램이 컴파일될 때 기본 메모리 관리 라이브러리로 사용되었던 오래된 인프라입니다.
요즘에는 이 메모리 관리 구성 요소에 의존하는 프로그램이 거의 없기 때문에 Corel Draw, Autocad, Adobe Acrobat 등의 레거시 버전을 설치했을 때 컴퓨터에서 찾을 수 있었을 가능성이 큽니다.
이제 이 문제의 원인이 되는 기본 구성요소에 대해 더 잘 알고 있으므로 MEM_BAD_POINTER 또는 MEM_BAD_POINTER SmartHeap 라이브러리 프롬프트 내의 오류 메시지:
- 기존 프로그램 설치 손상 – 이 문제를 일으키는 가장 일반적인 원인 중 하나는 SmartHeap 라이브러리를 사용하는 레거시 프로그램이 부분적으로 손상되었거나 일부 파일을 손상시키는 일부 변경을 겪은 경우입니다. 동일한 문제에 직면한 여러 사용자가 문제가 있는 레거시 애플리케이션을 복구하거나 제거하여 문제를 해결할 수 있음을 확인했습니다.
- 부분적으로 호환되지 않는 기존 앱 – 사용 중인 Windows 버전과 이러한 유형의 문제를 일으키는 레거시 앱 버전에 따라 기본 프로그램 실행 파일을 Windows 버전과 호환 모드에서 실행하도록 구성하여 팝업을 완전히 피할 수 있습니다. 전적으로 지원합니다.
- 손상된 레지스트리 값 – 남은 레지스트리 키는 SmartHeap 라이브러리를 호출하는 팝업을 담당할 수도 있습니다. 대부분의 경우 이 문제는 시작 레지스트리 키로 호출된 인프라가 더 이상 존재하지 않기 때문에 발생합니다. 이 경우 남아 있는 레지스트리 키를 수동으로 제거하거나 CCleaner와 같은 유틸리티를 사용하여 문제를 영구적으로 제거해야 합니다.
- 최근 시스템 변경사항 – 인프라 Windows 업데이트 또는 새 드라이버 설치도 이 문제의 원인일 수 있습니다. 이 경우 시스템 복원을 사용하여 현재 문제를 일으키는 시나리오가 없었던 시점으로 PC 상태를 되돌리는 것을 고려해야 합니다.
- 확인되지 않은 제3자 충돌 – 이 문제는 Adobe, Corel 및 AutoCAD의 레거시 응용 프로그램과 연결되어 있지만 SmartHeap 라이브러리 인프라를 사용하고 유사한 문제를 생성할 수 있는 다른 레거시 프로그램이 분명히 있습니다. 이 경우 컴퓨터를 클린 부팅하고 문제를 일으킬 수 있는 특정 프로세스 또는 시작 항목을 조사해야 합니다.
이제 잠재적인 범인 목록을 살펴보았으므로 영향을 받는 사용자가 성가신 시작 팝업이 나타나지 않도록 하는 데 성공적으로 사용한 가장 효과적인 방법에 대한 요약입니다.
방법 1:기존 프로그램 복구 또는 제거(해당되는 경우)
대부분의 문서화된 사례에서 이 문제는 SmartHeap 라이브러리 메모리 관리 인프라를 적극적으로 사용하는 레거시 프로그램의 손상된 설치로 인해 발생하는 것으로 알려져 있습니다. 이 문제는 Windows 7, Windows 8.1, Windows 10에서 발생하는 것으로 확인되었습니다.
대부분의 경우 이는 기존 버전의 Corel Draw 및 기타 Corel 제품, Adobe Acrobat Reader 및 Autocad에서 발생하는 것으로 보고되었습니다. 그러나 이것은 MEM_BAD_POINTER 도 볼 수 있으므로 규칙이 아닙니다. 또는 MEM_BAD_POINTER 덜 알려진 레거시 프로그램으로 인한 오류 메시지입니다.
이 특정 시나리오에 자신을 발견하면 팝업이 발생하지 않도록 기존 프로그램을 복구하거나 제거하는 것으로 시작해야 합니다.
참고: 프로그램의 최신 버전으로 업그레이드할 수 있는 권한이 있을 수 있으므로 할 이유가 없습니다. 더 이상 Windows 설치와 완전히 호환되지 않는 레거시 소프트웨어를 계속 사용하십시오.
시스템 시작 시마다 SmartHeap 팝업을 생성하는 레거시 프로그램을 복구하거나 제거하려면 아래 지침을 따르십시오.
- Windows 키 + R 누르기 실행 열기 대화 상자. 텍스트 상자 안에 'appwiz.cpl을 입력합니다. '를 입력하고 Enter 키를 누릅니다. 프로그램 및 기능 열기 메뉴.
- 프로그램 및 기능 화면에 들어가면 설치된 프로그램 목록을 아래로 스크롤하여 SmartHeap 모듈을 사용하는 것으로 의심되는 기존 프로그램을 찾습니다.
- 기존 프로그램을 마우스 오른쪽 버튼으로 클릭하고 복구 옵션이 있는지 확인합니다. 방금 나타난 컨텍스트 메뉴에서. 가지고 있는 경우 복구를 클릭하세요. 화면의 지시에 따라 복구 프로세스를 완료한 다음 컴퓨터를 다시 시작하고 다음에 시작할 때 문제가 해결되는지 확인합니다.
참고: 레거시 응용 프로그램을 복구할 수 없는 경우 제거할 수 있는 유일한 방법은 해당 응용 프로그램을 제거하는 것입니다. 이 경우 제거를 선택합니다. 컨텍스트 메뉴에서.
- 기존 프로그램에 대한 변경 사항을 적용했으면(복구 또는 제거) 컴퓨터를 재부팅하고 오류 팝업이 반환되는지 확인하십시오.
여전히 MEM_BAD_POINTER 문제가 발생하는 경우 또는 MEM_BAD_POINTER 오류가 발생하면 아래의 잠재적인 수정 사항으로 이동하십시오.
방법 2:호환 모드에서 프로그램 실행
문제가 있는 기존 프로그램에 따라 소프트웨어를 완벽하게 지원하는 Windows 버전과 호환 모드에서 실행되도록 구성하여 문제를 해결할 수 있습니다.
영향을 받는 사용자가 Windows 7과의 호환 모드에서 실행되도록 AutoCAD의 레거시 버전을 구성한 후 문제를 해결한 사례가 많이 있습니다.
중요: 이 수정 사항은 레거시 프로그램의 기본 실행 파일이 모든 시스템 시작 시 시작 항목에 의해 호출되는 경우에만 유효합니다.
따라서 AutoCAD를 설치하거나 다른 프로그램을 설치하는 동안 이 문제가 발생하는지 여부에 관계없이 아래 지침에 따라 레거시 프로그램이 호환 모드에서 실행되도록 구성하십시오.
- 이 시작 오류의 원인으로 의심되는 기존 프로그램의 기본 실행 파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 컨텍스트 메뉴에서.
- 기존 프로그램의 속성 화면에서 호환성을 클릭합니다. 상단 메뉴에서 탭을 누르세요.
- 다음으로 호환성과 연결된 체크박스를 선택합니다. 마지막으로 적용을 클릭하기 전에 필요한 경우 Windows 7 또는 이전 Windows 버전을 선택하십시오. 변경 사항을 저장합니다.
- 컴퓨터를 다시 시작하고 다음에 컴퓨터를 시작할 때 문제가 해결되는지 확인하십시오.
여전히 MEM_BAD_POINTER 를 처리하는 경우 또는 MEM_BAD_POINTER 오류가 발생하면 아래의 잠재적인 수정 사항으로 이동하십시오.
방법 3:레지스트리 검사 실행
위의 방법으로 문제를 해결할 수 없는 경우 인프라가 더 이상 존재하지 않더라도 SmartHeap 라이브러리를 호출하는 나머지 레지스트리 키를 처리할 가능성을 고려해야 합니다.
이 시나리오가 적용 가능한 경우 문제가 있는 레지스트리 키를 식별하고 컴퓨터에서 제거한 후에만 문제가 해결됩니다. 그러나 수동 접근 방식은 이 오류를 생성할 수 있는 잠재적인 다른 시나리오가 많기 때문에 권장되지 않습니다. 따라서 남아 있는 레지스트리 키를 자동으로 식별하고 컴퓨터에서 제거할 수 있는 타사 제품군을 사용해야 합니다.
단계별 지침을 찾는 경우 아래 지침에 따라 CCleaner를 사용하여 더 이상 유효하지 않은 잔여 항목의 레지스트리를 정리하십시오.
- 기본 브라우저를 열고 Ccleaner의 공식 다운로드 페이지를 방문합니다. . 다운로드 페이지에 들어가면 최신 버전의 CCleaner 다운로드가 자동으로 시작되어야 합니다. 그렇지 않은 경우 다운로드 하이퍼링크를 클릭하여 수동으로 다운로드를 시작하십시오.
- 설치 프로그램이 성공적으로 다운로드되면 두 번 클릭하고 예를 누르십시오. UAC에서 메시지가 표시될 때 (사용자 계정 컨트롤) 관리자 액세스 권한을 부여합니다. 그런 다음 화면의 지시에 따라 설치를 완료합니다.
- 설치가 완료되면 CCleaner를 엽니다. 화면 왼쪽으로 이동하여 등록을 클릭합니다.
- 레지스트리 내부 화면에서 문제 검색을 클릭합니다. , 그런 다음 작업이 완료될 때까지 기다립니다.
참고 :이 작업은 레지스트리의 사용되지 않는 모든 인스턴스가 제거되도록 합니다. 더 이상 실행 가능한 위치를 가리키지 않는 손상된 레지스트리 값과 경로만 처리하므로 시스템이 손상되지 않습니다.
- 등록 스캔이 완료되면 청소를 클릭하여 표준 청소를 수행할 수도 있습니다. 그러나 이것은 전적으로 선택 사항입니다.
- 컴퓨터를 다시 시작하고 이 스캔이 MEM_BAD_POINTER 문제를 해결했는지 확인하십시오. 또는 MEM_BAD_POINTER 오류.
여전히 동일한 문제를 겪고 있다면 아래의 잠재적인 해결 방법으로 이동하세요.
방법 4:시스템 복원 지점 사용
최근에 이 오류를 처리하기 시작한 경우 최근 OS 변경으로 인해 이 오류가 발생했을 가능성이 있습니다. 동일한 종류의 문제를 처리하는 영향을 받는 여러 사용자가 시스템 복원을 사용하여 이 문제가 발생하지 않은 상태로 컴퓨터 상태를 되돌려 문제를 해결했음을 확인했습니다.
시스템 복원을 사용하지 않은 경우 이전에 이 유틸리티를 사용하면 컴퓨터를 정상 상태로 되돌릴 수 있다는 점을 기억하십시오(사용 가능한 시스템에서 선택할 수 있는 스냅샷 복원이 있는 경우)
참고: 시스템 복원의 기본 동작을 수정하지 않는 한 중요한 시스템 시작(예:새 프로그램 설치, 대규모 Windows 업데이트 등)
이 도구가 어떻게 작동하고 무엇을 할 수 있는지 이해했다면 최상의 복원 스냅샷을 식별하고 배포하는 데 사용하세요. SmartHeap 라이브러리로 인해 발생하는 팝업을 수정하기 위해
참고: 이 작업을 수행하면 해당 복원 스냅샷 생성 이후 적용한 모든 변경 사항이 손실된다는 점에 유의하십시오.
복원 스냅샷이 배포되면 마지막으로 재부팅하고 팝업이 수정되었는지 확인합니다.
동일한 MEM_BAD_POINTER 가 계속 표시되는 경우 또는 MEM_BAD_POINTER 시작 오류, 아래의 최종 수정 사항으로 이동하십시오.
방법 5:컴퓨터 클린 부팅
위의 방법 중 어느 것도 귀하의 경우에 효과가 없었다면 일종의 타사 간섭으로 인해 이 시작 오류가 발생했을 가능성을 고려해야 합니다. 문제의 원인이 될 수 있는 잠재적인 원인을 모르는 경우 클린 부팅 모드에서 컴퓨터를 부팅하고 타사 서비스 및 시작 항목 실행이 허용되지 않는지 확인하는 것이 좋습니다.
이렇게 하면 MEM_BAD_POINTER 또는 MEM_BAD_POINTER 시작 오류가 타사 응용 프로그램에 의해 발생하는지 여부. 타사 앱이 문제를 일으키는 것으로 확인되면 오류 팝업이 다시 나타날 때까지 비활성화된 모든 항목을 체계적으로 다시 활성화하여 범인을 식별하기만 하면 됩니다.
이 프로세스가 상당히 길기 때문에 전체 프로세스를 안내하는 단계별 가이드를 마련했습니다.
- Windows 키 + R 누르기 실행 열기 대화 상자. 다음으로 'msconfig'를 입력합니다. Enter 키를 누릅니다. 시스템 구성 열기 도구.
- 시스템 구성에 들어가면 도구에서 서비스를 클릭합니다. 상단 메뉴에서 탭. 내부에 들어가면 모든 Microsoft 서비스 숨기기
참고:와 연결된 확인란을 활성화합니다. 이렇게 하면 Windows 설치에 필수적인 모든 기본 Microsoft 서비스가 숨겨져 실수로 비활성화할 수 없습니다.
- 이제 타사 서비스만 남았으므로 모두 비활성화 버튼을 누르고 적용을 클릭합니다. 변경 사항을 저장합니다.
- 다음으로 시작을 클릭합니다. 탭을 클릭하고 작업 관리자 열기를 클릭합니다. 아래 하이퍼링크에서.
- 작업 관리자에 들어가면 유틸리티를 사용하려면 모든 시작을 비활성화하세요. Microsoft Corporation에서 로그인하지 않은 서비스 사용 안함을 마우스 오른쪽 버튼으로 클릭하여 새로 나타난 컨텍스트 메뉴에서
- 모든 관련 타사 시작 서비스를 비활성화한 후 컴퓨터를 일반적인 방식으로 재부팅하고 다음 시작이 완료될 때까지 기다립니다.
- 다음 시스템 시작 시 MEM_BAD_POINTER 에 주의하십시오. 또는 MEM_BAD_POINTER 오류. 문제가 반환되지 않으면 문제가 타사 구성 요소로 인해 발생한 것임을 방금 확인한 것입니다. 이 시점에서 문제를 일으키는 프로그램을 정확히 찾아내는 것입니다. 이렇게 하려면 오류가 표시될 때까지 정기적으로 다시 시작하는 것과 함께 이전에 비활성화된 모든 시작 항목 및 프로세스를 체계적으로 다시 활성화하십시오.
참고: 범인을 찾으면 상위 애플리케이션을 제거하거나 오류가 다시 발생하지 않도록 문제가 있는 서비스/시작 항목을 비활성화된 상태로 유지하십시오. - 마지막으로 문제를 해결할 수 있다면 컴퓨터를 시작할 때마다 컴퓨터가 클린 부팅되지 않도록 이전에 비활성화된 모든 항목을 다시 활성화하십시오.