시스템(Windows)

App Crash 로그 수집하는 방법

forward error correction Circle 2022. 12. 23. 12:09
반응형

이벤트 뷰어에서 응용프로그램 관련 로그를 확인하다보면 간혹 "Windows Error Reporting" 이라는 이름으로 App Crash 가

발생한 것을 확인 할 수 있습니다.

 

분석을 위해 로그 수집하는 방법에 대해 알아보도록 하겠습니다.

애플리케이션이 App Crash 후 전체 사용자 모드 덤프를 수집하고 로컬로 저장하도록 WER(Windows 오류 보고)을 구성할 수 있습니다. ".NET 애플리케이션"을 포함하여 자체 사용자 지정 크래시 보고를 수행하는 애플리케이션은 기본적으로 사용하지 않도록 설정되어 있습니다. 기능을 사용하도록 설정하려면 관리자 권한이 필요합니다. 기능을 사용하도록 설정하고 구성하려면 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps 키 아래에 다음 레지스트리 값을 사용합니다.

 

Description Type  기본값
DumpFolder 1. 덤프 파일을 저장할 경로
2. 기본 경로를 사용하지 않는 경우 충돌 프로세스가 폴더에 데이터를 쓸 수 있도록 허용하는 ACL이 폴더에 포함되어 있는지 확인필요
서비스 충돌의 경우 덤프는 사용된 서비스 계정에 따라 서비스 특정 프로필 폴더에 기록됩니다. 예를 들어 시스템 서비스의 프로필 폴더는 %WINDIR%\System32\Config\SystemProfile입니다.
REG_EXPAND_SZ  %LOCALAPPDATA%\CrashDumps
DumpCount 폴더의 최대 덤프 파일 수
(최대값을 초과하면 폴더에서 가장 오래된 덤프 파일이 새 덤프 파일로 바뀜)

REG_DWORD 
10
DumpType  0: 사용자 지정 덤프
1: 미니 덤프
2: 전체 덤프
REG_DWORD  1
CustomDumpFlags 사용할 사용자 지정 덤프 옵션입니다. 이 값은 DumpType 이 0으로 설정된 경우에만 사용됩니다.
옵션은 MINIDUMP_TYPE 열거형 값의 비트 조합입니다.
REG_DWORD

 

 

 

애플리케이션이 충돌하고 종료되기 전에 시스템에서 레지스트리 설정을 확인하여 로컬 덤프를 수집할지 여부를 확인합니다. 덤프 수집이 완료되면 애플리케이션이 정상적으로 종료될 수 있습니다. 애플리케이션이 복구를 지원하는 경우 복구 콜백이 호출되기 전에 로컬 덤프가 수집됩니다. 

2. 덤프 확인 방법

 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting 내 Local Dumps 확인

3. Local Dumps 가 없을 경우 
3-1) 하단의 첨부파일 [Application_Crash_Dump Create.reg]를 클릭하여 파일을 다운로드 합니다.

Application Crash Dump Create.reg
0.00MB

3-2) '레지스트리 편집기' 팝업에서 "예" 버튼을 클릭하여 레지스트리를 자동으로 생성합니다

3-3) Windows에서 Application Crash 발생 시, C:\temp 경로에 덤프 파일이 수집됩니다.
파일명 형식 : <process name>.<pid>.<creation time>.dmp

 

3. 덤프 수집 경로 변경하는 법
3-1) 시작 > 실행 창에서 "regedit"을 입력한 후 확인을 선택합니다. 

 

 

3-2) 다음 레지스트리 하위키를 찾아 클릭합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
 
3-3) DumpFolder의 데이터를 다른 경로로 변경합니다.
  

반응형