다음을 통해 공유


프로세스 모니터 사용을 시작하지 못하는 앱 문제 해결

이 문서에서는 프로세스 모니터 도구를 설치하여 최신, 받은 편지함 및 Microsoft Store 앱이 시작되지 않는 문제를 해결하는 방법을 설명합니다.

프로세스 모니터 도구를 다운로드합니다. 프로세스 모니터 도구가 로컬로 다운로드되면 파일을 추출합니다.

이벤트 캡처

프로세스 모니터 추적을 캡처하려면 관리자 권한(관리자 권한으로 실행)으로 실행합니다.

참고 항목

플랫폼과 일치하는 프로세스 모니터 버전을 실행하고 있는지 확인합니다(x86 시스템의 경우 Procmon.exe , X64 시스템의 경우 Procmon64.exe , ARM용 Procmon64a.exe ).

시작되면 이전에 저장된 필터를 기본값으로 다시 설정하여 이전에 설정한 필터에 의해 잠재적 이벤트가 필터링되지 않도록 합니다. 처음으로 프로세스 모니터를 실행하거나 필터가 설정되지 않은 경우 팝업 창 없이 녹음/녹화를 시작할 수 있습니다.

다시 설정 단추가 있는 프로세스 모니터 필터 창의 스크린샷.

기본적으로 녹음/녹화가 자동으로 시작됩니다. 그러나 다음 아이콘을 선택하여 실행 중인지 확인할 수 있습니다.

도구가 실행 중인지 확인하기 위해 아이콘이 선택된 프로세스 모니터 창의 스크린샷.

또는 Ctrl + E를 누르거나 파일 메뉴에서 이벤트 캡처를 선택하여 녹음/녹화를 시작할 수 있습니다. 다음과 같이 상태 표시줄에 기록된 이벤트가 표시됩니다.

상태 표시줄에 표시된 기록된 이벤트의 스크린샷.

또는 GUI(그래픽 사용자 인터페이스)가 옵션이 아니거나 콘솔 액세스로만 시스템에 원격으로 액세스할 수 있는 경우 Windows PowerShell 또는 명령 프롬프트를 사용하여 문제를 추적할 수 있습니다. 예시:

C:\ProcessMonitor>procmon64.exe -accepteula -backingfile C:\ProcessMonitor\Recording.pml -quiet -minimized

최대 파일 크기 필터링 및 설정을 비롯한 다른 옵션을 사용할 수 있습니다. 자세한 내용은 프로세스 모니터를 참조하세요.

프로세스 모니터 사용량의 명령줄 인수 스크린샷

추적을 종료하고 저장하려면 다음 명령을 사용할 수 있습니다.

C:\ProcessMonitor>procmon64.exe -terminate -quiet

또한 PowerShell 또는 PsExec 도구를 사용하여 프로세스 모니터를 원격으로 실행할 수 있습니다. 예시:

C:\PSTools>psexec.exe -sd \\<Computer Name> C:\ProcessMonitor\procmon64.exe -accepteula -backingfile C:\ProcessMonitor\Recording.pml -quiet -minimized

기록을 중지하려면 다음 명령을 사용할 수 있습니다.

C:\PSTools>psexec.exe -sd \\<Computer Name> C:\ProcessMonitor\procmon64.exe -terminate -quiet

이벤트 저장 및 저장

이벤트를 저장하고 저장하는 데 사용할 수 있는 몇 가지 방법이 있습니다. 파일 메뉴에서 백업 파일을 선택할 수 있습니다. 그런 다음 이벤트를 저장하는 두 가지 메서드를 볼 수 있습니다.

  • 가상 메모리 사용
  • 명명된 파일 사용

이벤트를 저장하는 두 가지 메서드가 있는 프로세스 모니터 백업 파일 창의 스크린샷.

가상 메모리 사용

이 메서드는 사용자가 수동으로 저장할 때까지 시스템의 메모리를 사용하여 파일을 저장합니다.

참고 항목

가상 메모리에서 지원되는 프로세스 모니터를 너무 오랫동안 실행하면 프로세스 모니터에서 사용 가능한 모든 시스템 가상 메모리를 사용할 수 있으므로 시스템이 응답을 중지할 수 있습니다.

상태 표시줄에 표시되는 가상 메모리에서 지원되는 이벤트의 스크린샷.

가상 메모리에서 백업으로 녹음을 시작하는 경우 프로세스 모니터를 종료하기 전에 기록을 저장해야 합니다.

모든 이벤트 및 네이티브 프로세스 모니터 형식이 선택된 저장 아이콘 및 파일에 저장 창의 스크린샷

모든 이벤트를 선택하고 형식이 PML(네이티브 프로세스 모니터 형식)으로 설정되어 있는지 확인합니다. 기록에 모든 이벤트가 포함되지 않은 경우 분석에 사용할 수 있는 표시되거나 강조 표시된 이벤트만 있으며, 이는 충분하지 않을 수 있습니다.

파일로 백업

이 메서드는 파일을 사용하여 기록을 저장하며 프로세스 모니터를 종료하기 전에 파일을 수동으로 저장할 필요가 없습니다.

참고 항목

최대 파일 크기가 정의되지 않은 경우 프로세스 모니터를 너무 오랫동안 실행하여 파일에서 지원하면 프로세스 모니터가 사용 가능한 모든 시스템 디스크 공간을 소비하게 되어 시스템 응답이 중지될 수 있습니다.

상태 표시줄에 표시되는 파일에서 지원되는 이벤트의 스크린샷.

프로세스 모니터가 설정되고 기록이 시작되면 문제를 재현해야 합니다.

문제 해결 예제

이 문제를 예로 들어 주세요. 계산기 애플리케이션이 작동하지 않습니다. 먼저 위에서 설명한 메서드를 사용하여 프로세스 모니터 기록을 시작합니다. 그런 다음 애플리케이션을 시작하여 문제를 재현합니다. 문제가 재현되면 프로세스 모니터 기록을 중지하고 데이터를 저장합니다.

기록된 프로세스 모니터 추적을 분석하려면 프로세스 모니터를 사용하여 엽니다. 메뉴의 도구에서 프로세스 트리를 선택하여 녹화 중에 애플리케이션이 시작되는지 확인합니다.

계산기 프로세스를 선택합니다.

계산기 프로세스가 선택된 프로세스 트리 창의 스크린샷

프로세스에 집중하려면 애플리케이션 이름을 마우스 오른쪽 단추로 클릭하고 포함 필터에 프로세스 추가를 선택합니다.

필터를 포함할 프로세스 추가를 마우스 오른쪽 단추로 클릭하고 보여 주는 계산기 프로세스의 스크린샷

마찬가지로 프로세스 ID에 대한 필터를 수동으로 추가할 수 있습니다.

프로세스 ID가 정의된 프로세스 모니터 필터 창의 스크린샷.

프로세스 트리 보기를 종료하거나 프로세스 모니터 필터 창에서 확인을 선택하여 프로세스가 포함된 필터링된 캡처된 줄을 확인합니다. 이 예제에서는 Calculator.exe 프로세스가 시작됩니다.

계산기 프로세스가 선택된 프로세스 모니터 창의 스크린샷

그런 다음 프로세스 캡처의 끝으로 이동하여 프로세스 종료 이벤트 바로 전에 스레드 종료 이벤트 그룹을 찾습니다.

계산기 프로세스가 선택되고 위의 스레드 종료 이벤트가 있는 프로세스 모니터 창의 스크린샷

WerFault.exe 대한 프로세스 만들기 이벤트를 볼 수도 있습니다. 이 시점에서 애플리케이션은 이미 복구할 수 없는 조건에 도달했으며 기본 오류 처리기를 호출했습니다.

또한 애플리케이션 충돌과 관련된 일부 이벤트 로그도 기록됩니다.

애플리케이션 오류 이벤트를 보여 주는 이벤트 뷰어 창의 스크린샷

이벤트 5961을 보여 주는 이벤트 뷰어 창의 스크린샷

이 줄에서 시작하여 액세스 거부 결과 이벤트를 발견할 수 있는지 확인할 수 있습니다.

액세스 거부 계산기 프로세스가 선택된 프로세스 모니터 창의 스크린샷

이 경우 작업 컴퓨터의 권한과 다음 레지스트리 키의 사용 권한을 확인하여 몇 가지 차이점이 있는지 확인해야 합니다.

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

이 예제에서는 모든 애플리케이션 패키지에 사용자 셸 폴더"읽기" 권한이 없습니다.

모든 애플리케이션 패키지가 선택된 사용자 셸 폴더에 대한 사용 권한의 스크린샷

PowerShell 또는 명령 프롬프트를 사용하여 이 작업을 수행할 수도 있습니다.

작업 시스템의 경우:

작업 시스템에 대한 사용자 셸 폴더 권한에 대한 PowerShell cmdlet의 스크린샷.

비작업 시스템의 경우:

휴무 중인 시스템에 대한 사용자 셸 폴더 권한에 대한 PowerShell cmdlet의 스크린샷.

의심스러울 수 있는 가까운 사용 권한 문제를 찾지 못한 경우 항상 모든 의심스러운 권한 블록에 대한 전체 추적을 확인할 수 있습니다. 먼저 필터 메뉴에서 [필터 다시 설정]을 선택하여 계산기 프로세스에 대한 필터 제거합니다. 그런 다음 도구 메뉴에서 발생 횟수 개수 옵션을 선택합니다. 드롭다운 메뉴에서 결과를 선택한 다음 개수를 선택할 수 있습니다.

필터링이 완료되면 "액세스 거부" 줄을 두 번 클릭하여 필터링된 이벤트를 볼 수 있습니다.

액세스 거부 줄이 선택된 개수 값 발생 창의 스크린샷.

계산기 프로세스와 일부 액세스 거부 프로세스의 스크린샷.

목록을 통해 작업하는 경우 모든 "액세스 거부" 결과로 인해 코드가 실패하는 것은 아닙니다.

일반적으로 "모든 액세스"를 요청하는 모든 항목은 종종 거부되므로 조사에서 제외할 수 있습니다. 다음과 같이 Desired Access: All Access포함하는 이벤트를 필터링하여 자동으로 수행할 수 있습니다.

원하는 액세스 모든 액세스 필터가 있는 프로세스 모니터 필터 창의 스크린샷.

이 예제에서 결과는 다음과 같습니다.

StartMenuExperienceHost 및 계산기 프로세스가 선택된 프로세스 모니터 창의 스크린샷

StartMenuExperienceHost 프로세스가 선택된 프로세스 모니터 창의 스크린샷.

"모든 애플리케이션 패키지"에 대한 적절한 권한을 추가하면 두 애플리케이션에 대한 두 가지 문제가 동시에 해결됩니다.

애플리케이션 시작이 중지되는 권한 변경을 해결할 수 없는 경우도 있습니다. 프로세스 모니터는 프로세스 작업의 일부만 캡처합니다.

많은 컴퓨터가 동일한 문제의 영향을 받는 경우 새로 설치된 새 컴퓨터에서 시작하여 애플리케이션이 다시 시작되지 않을 때까지 정책을 천천히 추가하여 문제 해결을 수행합니다.

하나의 컴퓨터만 영향을 받는 경우 컴퓨터를 복구하거나 다시 설정합니다. 한 명의 사용자만 영향을 받는 경우 사용자의 프로필을 다시 만듭니다.