
약간의 뒷이야기
하루 전에 일부 손상된 소프트웨어를 컴퓨터에 설치했는데 얼마 지나지 않아 부팅 시 "검은색 죽음의 화면"이 나타났습니다. Windows나 소프트웨어와 관련이 없는 개인 콘텐츠가 있는 파티션을 제외하고 모든 파티션을 삭제하여 창을 다시 설치했습니다.
문제
이제 모든 것이 완벽하게 작동합니다. 단, 가끔 "내 컴퓨터"를 클릭하면 창이 멈추고 "Windows 탐색기가 응답을 멈췄습니다"라는 메시지가 표시됩니다. 약 10초 후에 windows.explorer를 닫을 수 있습니다. 다시 잘 작동합니다. windows.explorer를 닫은 후 자동으로 다시 로드됩니다. windows.explorer가 정지되면 내 컴퓨터 메인 페이지(파티션을 표시하는 페이지)만 응답하지 않고 다른 모든 페이지는 완벽하게 작동합니다.
자세한 내용은
참고: 항상 그런 것은 아니지만 약 50%의 경우에 이런 일이 발생합니다. 더 자세한 내용이 필요하다고 생각하시면 저에게 메시지를 보내주세요. 저는 단지 그것이 작동되도록 하고 싶습니다. 또한 이제 바이러스 백신이 있고 2번의 전체 심층 검사를 실행하여 단 2개의 맬웨어만 찾아 첫 번째 검사에서 삭제했습니다.
전체 오류 세부정보
문제로 인해 이 프로그램이 Windows와 상호 작용을 중단했습니다.
문제 서명: 문제 이벤트 이름: AppHangB1 애플리케이션 이름: explorer.exe 애플리케이션 버전: 6.1.7600.16385 애플리케이션 타임스탬프: 4a5bc60d 중단 서명: f128 중단 유형: 0 OS 버전: 6.1.7600.2.0.0.256.1 로케일 ID: 1033 추가 중단 서명 1 : f128b6859529d468288b0b438227f2a0 추가 정지 서명 2: 038d 추가 정지 서명 3: 038dcc82876a0b81ae2e055408dbff7a 추가 정지 서명 4: f128 추가 정지 서명 5: f128b6859529d468288b0b43 8227f2a0 추가 정지 서명 6: 038d 추가 정지 서명 7: 038dcc82876a0b81ae2e055408dbff7a
온라인으로 개인 정보 보호 정책을 읽어보세요:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
답변1
프로세스가 정지 상태에 있는 이유를 이해하려면 프로세스의 스레드를 분석해야 합니다.
두 가지 방법이 떠오릅니다. 하나는 빠르고 답을 줄 수 있고, 다른 하나는 더 정확합니다.
Process Explorer를 실행하고 Explorer.exe 프로세스의 스레드를 살펴보십시오. 기호가 구성되면 스레드의 호출 스택이 프로세스가 수행하는 작업을 제안할 수 있기를 바랍니다. 여기에서 어떤 스레드가 가장 많은 CPU 시간을 소비하고 있는지 확인할 수 있습니다.
- 보다 정확하고 전문적인 방법. Explorer.exe 프로세스가 정지되었을 때 메모리 덤프를 생성한 다음 분석합니다. 정지 상태에 있을 때 모든 프로세스 메모리를 원할 가능성이 높습니다. 그렇게 하려면 Procdump(https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx), 관리 명령 프롬프트에서 다음을 실행합니다.
procdump -h -ma explorer.exe explorer.dmp
다음에 Explore.exe 프로세스가 중단되면 Procdump가 분석할 덤프 파일을 생성할 것입니다. 그런 다음 SDK의 일부인 Windbg를 설치하는 단계가 됩니다.https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk. Windows용 디버깅 도구 구성 요소만 설치하면 됩니다.
설치가 완료되면 Windbg를 시작하고 기호를 구성하십시오.https://msdn.microsoft.com/en-us/library/windows/hardware/ff558829(v=vs.85).aspx
그런 다음 덤프를 로드하고 다음을 실행할 수 있습니다: !analyze -hang -v
이를 통해 어떤 스레드/모듈이 문제를 일으킬 수 있는지에 대한 답을 얻을 수 있습니다. 어쩌면 제거할 수 있는 스택에 타사 dll이 있는 스레드를 가리킬 수도 있습니다.
일반적으로 중단은 실제로 오류가 발생하지 않았기 때문에 충돌보다 조금 더 까다롭습니다. 진행 중인 작업의 맥락에서 스레드가 수행하는 작업을 고려해야 합니다. !runaway와 같은 명령은 CPU를 소비한 스레드 목록을 제공하며 시작될 수 있습니다. 각 스택을 살펴보고 작업을 수행하고 있는지, 어떤 모듈이 관련되어 있는지 확인합니다. 특히 Microsoft가 아닌 타사인 경우 더욱 그렇습니다.
이 주제에 대한 자세한 내용은 다음을 참조하세요.https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-172-Application-Hangs