wer-file

윈도우 오류 리포팅(Windows Error Reporting) 서비스가 기록한 Report.wer 파일을 파싱하여 크래시 보고서를 조회합니다. 응용 프로그램 충돌 정보, 예외 데이터, 운영체제 정보 등을 구조화된 필드로 변환하여 출력합니다.

명령어 속성

항목설명
명령어 유형드라이버 쿼리
필요 권한클러스터 관리자
라이선스 사용량집계함
병렬 실행미지원
분산 실행수집 노드에서 실행 (mapper)

문법

wer-file [zippath=STR] [zipcharset=STR] FILE_PATH

옵션

zippath=STR
WER 파일이 포함된 ZIP 파일의 경로. ZIP 파일 내부의 WER 파일을 직접 조회할 때 사용합니다.
zipcharset=STR
ZIP 파일 엔트리의 문자 집합 (기본값: utf-8)

대상

FILE_PATH
조회할 Report.wer 파일의 경로. 와일드카드(*)를 사용하여 여러 파일을 지정할 수 있습니다. WER 파일은 일반적으로 C:\ProgramData\Microsoft\Windows\WER\ReportArchive 디렉터리에 위치합니다.

출력 필드

WER 파일의 키-값 쌍을 카멜 케이스(CamelCase)에서 스네이크 케이스(snake_case)로 변환하여 필드 이름으로 사용합니다. 주요 출력 필드는 다음과 같습니다.

필드타입설명
version문자열WER 파일 형식 버전
event_type문자열이벤트 유형 (예: APPCRASH)
event_time문자열이벤트 발생 시각. FILETIME 형식의 값
consent문자열오류 보고서 전송 동의 여부
consent_key문자열오류 보고서 동의 키 (예: APPCRASH)
app_name문자열응용 프로그램 이름
app_path문자열응용 프로그램 파일 경로
app_session_guid문자열세션 GUID
ns_app_name문자열네임스페이스 응용 프로그램 이름 (예: WinSCP.exe)
ns_group문자열네임스페이스 그룹 (예: windows8)
ns_partner문자열네임스페이스 파트너 (예: windows)
original_filename문자열원본 파일 이름
application_identity문자열응용 프로그램 해시
target_app_id문자열대상 응용 프로그램 식별자
target_app_ver문자열대상 응용 프로그램 버전
boot_id문자열부트 식별자
report_identifier문자열보고서 GUID 식별자
report_status문자열보고서 상태
report_type문자열보고서 유형
friendly_event_name문자열화면 표시용 이벤트 이름 (예: 작동이 중지됨)
is_fatal문자열치명적 오류 여부
upload_time문자열업로드 시각. FILETIME 형식의 값
metadata_hash문자열메타데이터 해시
response_bucket_id문자열응답 버킷 식별자
response_bucket_table문자열응답 버킷 테이블
response_legacy_bucket_id문자열응답 레거시 버킷 식별자
responsetype문자열응답 유형
integrator_report_identifier문자열통합 보고 식별자
ui문자열UI 항목. 여러 항목이 있는 경우 줄바꿈(\n)으로 결합한 문자열
sigs예외 정보. 응용 프로그램 버전, 예외 코드, 예외 오프셋 등
dynamic_sigs동적 예외 정보
states상태 값 목록
os_infos운영체제 정보
loaded_modules배열로드된 DLL 파일 경로 목록

오류 코드

파싱 오류

해당 사항 없음

런타임 오류
오류 코드메시지설명후처리 동작
-cannot load Report.wer fileWER 파일을 읽을 수 없는 경우쿼리 실행을 중단함

설명

wer-file 명령어는 지정한 WER 파일을 UTF-16LE 인코딩으로 읽어 키-값 쌍을 파싱합니다. 파일의 각 행은 키=값 형식으로 구성되어 있으며, 키 이름은 카멜 케이스에서 스네이크 케이스로 자동 변환됩니다.

배열 형식의 키(Sig[n], DynamicSig[n], State[n], OsInfo[n])는 이름-값 쌍으로 파싱하여 각각 sigs, dynamic_sigs, states, os_infos 맵 필드에 할당합니다. LoadedModule[n] 키의 값은 loaded_modules 배열 필드에 수집합니다. UI[n] 키의 값은 줄바꿈 문자로 결합하여 ui 문자열 필드에 할당합니다.

version 필드가 null인 경우 올바르지 않은 WER 파일로 판단하여 레코드를 출력하지 않습니다.

ZIP 파일 내부의 WER 파일을 조회하려면 zippath 옵션에 ZIP 파일 경로를 지정하고 대상에 ZIP 내부의 WER 파일 경로를 지정합니다.

이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.

사용 예

각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.

  1. WER 파일 조회

    wer-file /opt/logpresso/evidence/Report.wer
    

    지정한 경로의 WER 파일에서 크래시 보고서를 조회합니다.

  2. 와일드카드로 여러 WER 파일 조회

    wer-file /opt/logpresso/evidence/ReportArchive/*/Report.wer
    

    ReportArchive 하위의 모든 디렉터리에서 WER 파일을 조회합니다.

  3. ZIP 파일 내부의 WER 파일 조회

    wer-file zippath=/opt/logpresso/evidence/artifacts.zip Report.wer
    

    ZIP 파일 내부의 Report.wer 파일에서 크래시 보고서를 조회합니다.

  4. 치명적 오류만 필터링

    wer-file /opt/logpresso/evidence/ReportArchive/*/Report.wer
    | search is_fatal == "1"
    

    치명적 오류로 기록된 크래시 보고서만 필터링합니다.

호환성

wer-file 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.