Process Hang이나 Application Error가 발생했을 때 Hang/Error가 발생한 프로세스의 덤프만으로도 해결이 가능한 경우들이 있지만, 간혹 다른 프로세스에 의해 발생한 경우라면 프로세스 덤프 만으로는 원인을 찾기가 어려워집니다.


이럴 때, 문제 원인을 찾기 위해 전체 덤프가 필요한데요


전체 덤프를 얻기 위해 BSOD(블루스크린)를 발생시키는 방법은 아래와 같습니다.

1. 키보드 이용

2. OSRonline의 BANG! 활용

https://www.osronline.com/article.cfm?article=153

3. Sysinternals의 Not My Fault 활용

http://download.sysinternals.com/files/notmyfault.zip


이 중 2번 방법인 OSRonline의 BANG!을 활용한 전체 덤프 획득 방법에 대해 설명하도록 하겠습니다.


BSOD가 발생하면서 전체 덤프를 생성시키려면 먼저, 전체 덤프 설정을 해야합니다.



1) 제어판\시스템 및 보안\시스템 -> 고급 시스템 설정 -> 시작 및 복구 -> 설정 클릭! 





2) 설정 창에서 디버깅 정보 쓰기 -> 전체 메모리 덤프 선택, 

- 시스템 로그에 이벤트 기록 / 자동으로 다시 시작 -> 이 두 옵션도 체크해주세요


- 만약 전체 메모리 덤프 옵션을 선택할 수 없다면 레지스트리 변경이 필요합니다.

 + 아래 레지스트리 설정 변경은 전체 메모리 덤프 옵션이 활성화 되지 않은 경우에만 진행하시면 됩니다.

 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

 - CrashDumpEnabled = 1 로 변경





3) https://www.osronline.com/article.cfm?article=153 접속, BANG! 다운로드!

- BANG은 강제로 BSOD를 발생시키는 Tool입니다.


4) 다운로드 후 문제 상황을 재현합니다.

- 재현하지 않고 BSOD를 발생시키면 덤프에 문제 상황에 대한 내용이 남지 않겠죠?


5) 문제 상황 재현 후 BANG 실행 -> Crash Now 클릭!




6) BSOD 발생 -> 덤프 생성 -> 시스템 재부팅


- BSOD가 발생했네요, 이 때부터 전체 메모리 덤프를 저장하기 시작합니다. 그리고 자동으로 재부팅!


- windbg에 연결해서 보면 BANG.sys가 강제 BSOD를 냈다는 것을 알 수 있습니다.



7) 전체 덤프 파일 찾기

- 덤프 파일 위치 : C:\Windows\MEMORY.dmp

생성된 덤프파일로 원인 분석을 진행하시면 되겠습니다!

'Windows > Windows Debugging' 카테고리의 다른 글

Display Memory - da, db, dc, dd, dD, df, dp, dq, du, dw  (0) 2016.02.20
!analyze -v  (0) 2015.07.04
덤프파일 위치  (0) 2015.07.04
Posted by 긍정왕오킹