Windows나 Linux나 OS 측면에서 특정 문제 증상에 대한 내용을 파악할 수 있는 모든 로그를 남길 수가 없는 것이 현실입니다.
때로는 Crash Dump나 Live Debugging을 통해 보다 자세한 내용을 분석해야 할 수 있습니다.
Windows의 경우에는 특정 Event가 로깅되었을 때, 해당 Event의 ID 값을 이용하여 Crash Dump를 생성할 수 있는 방법이 있습니다.
작업 스케줄러를 이용하는 방법으로 Event ID를 기반으로 우리가 원하는 실행 파일을 실행시킬 수 있습니다.
이와 관련한 내용을 살펴보겠습니다.
(본 예제에서는 아래 Event Log를 기반으로 작성하였습니다.)
Log Name: System Source: storahci Date: 6/19/2013 4:36:34 PM Event ID: 129 Task Category: None Level: Warning Keywords: Classic User: N/A Computer: VS3.opsmgr.net Description: Reset to device, \Device\RaidPort0, was issued. |
1. Notmyfault 도구 실행을 위한 Batch 파일 생성
1-1. notmyfault 도구를 다운로드 후 문제 발생 시스템으로 복사 및 압축 해제(c:\temp로 가정)
https://learn.microsoft.com/en-us/sysinternals/downloads/notmyfault
1-2. notepad를 열고 다음 명령어로 확장자 bat 파일 생성(본 예제에서는 c:\temp\crash.bat)
c:\temp\notmyfaultc64.exe /crash 0x01
2. 작업 스케줄러에 신규 작업 생성
2-1. 시작 > 실행 > taskschd.msc로 작업 스케줄러 실행
2-2. Create Basic Task
2-3. Task 명 지정
2-4. 특정 이벤트 발생 시, 필요하므로 “When a specific event is logged” 선택
2-5. 문제가 발생할 때 System Event Log에 EventID 129가 남기 때문에 아래와 같이 Event 설정
2-6. Batch 파일을 등록하기 위해서 “Start a program” 선택
2-7. 1번 단계에서 생성한 crash.bat 파일 지정
2-8. 작업 등록
3. 테스트
명령 프롬프트를 관리자 권한으로 실행하고 다음 명령어 실행 시 BlueScreen 발생 여부 확인
C:\> eventcreate /T INFORMATION /ID 129 /L SYSTEM /D “test129”
위와 같이 테스트를 하면, System Event Log에 Event ID 129의 Event가 생성되면서 작업 스케줄러가 Trigger 되고 결국 crash.bat 파일 내에 기재된 notmyfault 도구가 실행되면서 Blue Screen이 발생하게 됩니다.
수집된 C:\Windows\Memory.dmp 파일을 열어보면 다음과 같이 정상적으로 Process 정보 조회가 가능합니다.
3: kd> !process 0 0 **** NT ACTIVE PROCESS DUMP **** PROCESS ffffbf0dab87a340 SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000 DirBase: 001ad000 ObjectTable: ffff8e80ff003d40 HandleCount: 2386. Image: System PROCESS ffffbf0dab876080 SessionId: none Cid: 0068 Peb: 00000000 ParentCid: 0004 DirBase: 034c5000 ObjectTable: ffff8e80ff00d300 HandleCount: 0. Image: Registry PROCESS ffffbf0dab924080 SessionId: none Cid: 0128 Peb: a4914b8000 ParentCid: 0004 DirBase: 21efdb000 ObjectTable: ffff8e80ff175840 HandleCount: 56. Image: smss.exe <snippet> |
이제 실제로 System Event Log에 Event ID 129가 기록되었을 때 수집된 Windows Memory Dump를 이용하여, 분석이 필요합니다.
'Windows' 카테고리의 다른 글
How to Install SQL on WSFC (0) | 2023.10.19 |
---|---|
How to Install Windows Server Failover Clustering(WSFC) (0) | 2023.10.19 |
Configure Active Directory Federation Server (0) | 2023.04.02 |
Request a Certificate for ADFS Server (0) | 2023.04.02 |
Installing Active Directory Certificate Service (0) | 2023.04.02 |