Computer >> 컴퓨터 >  >> 시스템 >> Windows

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

Windows 10 응용 프로그램이 기대대로 작동하지 않나요? 너무 느리거나 갑자기 충돌하거나, 원인을 파악하기 어려운 여러 문제가 발생할 수 있습니다. 이런 문제의 근본 원인을 찾는 효과적인 방법 중 하나는 마이크로소프트에서 공식 제공하는 무료 유틸리티 Process Monitor를 활용하는 것입니다. 이 도구를 사용하면 Windows 응용 프로그램의 오류와 문제를 체계적으로 진단하고 디버그할 수 있습니다.

다운로드 및 설치

SysInternals에서 개발한 Process Monitor(ProcMon) 유틸리티는 2006년부터 꾸준히 사용되어 온 검증된 도구로, 응용 프로그램 문제 진단 외에도 다양한 용도로 활용됩니다. 레지스트리 키 접근, 파일 시스템 작업, 네트워크 트래픽 등 시스템 내부 동작을 실시간으로 상세히 확인할 수 있습니다.

다만 마우스 포인터 움직임이나 하드웨어 관련 변경 사항은 기록하지 않습니다. 그럼에도 불구하고 멀웨어 포착, 문제가 되는 응용 프로그램 식별, Windows PC 전반적인 상태 점검이 목적이라면 ProcMon만큼 강력한 도구는 드뭅니다.

마이크로소프트 공식 페이지에서 도구를 다운로드하세요. 별도의 설치 과정은 필요 없지만, .exe 파일을 실행할 때 SysInternals 소프트웨어 라이선스 조건에 동의해야 합니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

실행하면 Process Monitor가 Windows 시스템의 모든 이벤트를 자동으로 수집하기 시작합니다. 수집이 완료될 때까지 기다릴 필요는 없으며, 현재 실행 중인 프로그램들은 자동으로 분석 대상에 포함됩니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

Process Monitor로 문제 진단하기

프로그램이 세부 정보를 표시하기 시작하면 수많은 행과 열에 압도될 수 있습니다. 항목이 수백만 개에 달하기 때문입니다. 하지만 모든 항목을 살펴볼 필요는 없으며, 다음 요소들에만 집중하면 됩니다.

  • 프로세스 이름
  • 프로세스 ID(PID): 4~5자리 숫자
  • 파일 경로
  • 결과 코드: "SUCCESS" 또는 "NAME NOT FOUND", "REPARSE" 등 다양한 값

문제가 되는 응용 프로그램으로 빠르게 이동하려면 상단 메뉴에서 Tools → Process Tree를 선택하세요.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

대시보드에는 시스템에서 열려 있거나 실행 중인 모든 응용 프로그램이 표시됩니다. 'Life Time' 열이 온전한 녹색 블록으로 채워져 있다면 해당 응용 프로그램에는 특별한 문제가 없다는 신호입니다. 프로그램과 Windows 10 시스템을 최신 상태로 유지하면 대부분의 레지스트리 오류와 파일 손상 문제는 큰 지장을 주지 않습니다. 참고로 업데이트 관련 문제를 진단할 때는 SetUpDiag라는 별도의 유틸리티를 활용하는 것이 좋습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

아래로 스크롤하여 문제 이벤트를 찾은 후 'Go to Event'를 클릭하면 해당 지점으로 바로 이동합니다. 아래 예시 화면에서 ProcMon은 텐센트(Tencent)의 QQ 브라우저에서 여러 문제를 진단했습니다. 저는 .exe 파일 정보와 함께 프로세스 ID("3428")를 확인할 수 있었습니다.

문제의 출처를 파악했다면 이제 'Filters' 옵션을 활용할 차례입니다. 특정 실행 파일을 우클릭한 후 'Include' 필터를 추가하면 해당 응용 프로그램 하나에만 집중할 수 있습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

필터를 적용하면 항목 수에 따라 다소 시간이 걸릴 수 있습니다. 이 사례에서는 필터 적용 후에도 수천 개의 항목이 남았습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

또한 "SUCCESS"나 "BUFFER OVERFLOW"처럼 응용 프로그램에 문제가 없음을 나타내는 결과는 제외(Exclude)할 수 있습니다. 이렇게 하면 검색 범위를 한층 더 좁힐 수 있습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

이제 문제가 되는 응용 프로그램에서 가장 빈번하게 나타나는 결과 코드에 집중하세요. 결과 코드 전체 목록은 사용자 Lowell Vanderpool이 정리한 자료(7~9페이지)에서 확인할 수 있습니다. 이 사례에서는 "NAME NOT FOUND"가 수천 개 항목으로 가장 흔한 문제였는데, 이는 호출자가 존재하지 않는 객체를 열려고 시도했다는 의미입니다. 즉, 프로그램 설치 자체에 결함이 있었던 것입니다. 이렇게 문제의 근본 원인을 성공적으로 진단할 수 있습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

최종 문제 해결

이제 위 프로그램에 대한 최종 문제 해결 과정을 살펴보겠습니다. 제거가 필요한 진단 결과를 얻었다면, 먼저 File → Save 메뉴에서 ProcMon 로그 파일을 저장해 두는 것이 좋습니다. 나중에 관련 문제를 다시 검토할 때 유용하게 활용할 수 있습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

파일을 저장하면 방금 만든 필터 프리셋도 함께 보존됩니다. 기본 설정으로 돌아가고 싶다면 'Reset'을 클릭하면 됩니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

여기서 볼 수 있듯이 누락된 DLL 파일이 너무 많아 프로그램을 제거해야 하는 상황입니다. 프로그램 제거가 항상 쉬운 것은 아니지만, ProcMon에는 'Search Online'이라는 편리한 우클릭 옵션이 있습니다. 이 옵션 덕분에 제거 화면으로 손쉽게 이동할 수 있었습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

제거 프로그램을 실행하니 프로그램이 완전히 삭제되었습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

프로그램 제거는 일종의 '최후의 수단'이지만, 파일 누락 문제가 심각한 프로그램에는 가장 확실한 해결 방법입니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

동일한 필터 프리셋으로 ProcMon을 다시 실행했을 때, 텐센트 QQ 브라우저의 문제는 더 이상 감지되지 않았습니다.

Process Monitor로 Windows 응용 프로그램 오류 진단하고 디버그하는 방법

이처럼 Windows Process Monitor를 활용하면 Windows 응용 프로그램 오류를 정확히 진단하고 문제를 해결할 수 있습니다. 주요 문제의 원인을 파악하는 데는 약간의 연습만 필요합니다.

만약 Windows에서 CPU 사용률 100% 오류가 발생한다면, 여기에서 소개하는 해결 방법을 확인해 보세요. Bad System Config Info 오류에 대한 해결책도 함께 준비되어 있습니다.