wer-file
윈도우 오류 리포팅(Windows Error Reporting) 서비스가 기록한 Report.wer 파일을 파싱하여 크래시 보고서를 조회합니다. 응용 프로그램 충돌 정보, 예외 데이터, 운영체제 정보 등을 구조화된 필드로 변환하여 출력합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
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 file | WER 파일을 읽을 수 없는 경우 | 쿼리 실행을 중단함 |
설명
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 설정에 포함되어 있다고 가정합니다.
-
WER 파일 조회
wer-file /opt/logpresso/evidence/Report.wer지정한 경로의 WER 파일에서 크래시 보고서를 조회합니다.
-
와일드카드로 여러 WER 파일 조회
wer-file /opt/logpresso/evidence/ReportArchive/*/Report.werReportArchive 하위의 모든 디렉터리에서 WER 파일을 조회합니다.
-
ZIP 파일 내부의 WER 파일 조회
wer-file zippath=/opt/logpresso/evidence/artifacts.zip Report.werZIP 파일 내부의
Report.wer파일에서 크래시 보고서를 조회합니다. -
치명적 오류만 필터링
wer-file /opt/logpresso/evidence/ReportArchive/*/Report.wer | search is_fatal == "1"치명적 오류로 기록된 크래시 보고서만 필터링합니다.
호환성
wer-file 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.