WinDbg로 프로세스 크래시 감지해 덤프 생성하는 방법

WinDbg는 프로세스의 강제 종료(크래시)가 발생하는 경우 덤프(dump) 파일을 생성할 수 있습니다. 이때 타깃 프로세스를 정하고 windbg를 붙여서 디버깅하는 방법이 있습니다. 이전에 한번 포스팅했던 방법입니다. 

 

그러나 프로세스를 특정하지 않고 크래시가 발생하는 이벤트 자체에 반응하도록 설정하는 것도 가능합니다. 그 방법을 설명드리겠습니다.

WinDbg 크래시 덤프 수집 방법

1. 관리자 권한으로 cmd 실행 후 WinDbg 폴더 이동

windbg가 설치된 경로로 이동합니다. 예를 들어, Debugging Tools for Windows 설치셋은 32비트와 64비트용이 있는데, 64비트 버전을 다운 받았다면 C:\Program Files\Debugging Tools for Windows 경로에 폴더가 있을 겁니다.

2. WinDbg -I

cmd에서 아래의 명령어를 입력합니다. - 다음 알파뱃은 대문자 i입니다.

WinDbg -I

해당 명령어를 입력하면 windbg 프로그램이 켜지면서 성공적으로 세팅이 됐다는 내용의 알람창이 발생합니다. 확인을 눌러줍니다.

3. 크래시 현상 재현

문제가되는 프로세스를 실행하고, 강제 종료 현상을 재현합니다. 프로세스 강제 종료가 발생하면 그 즉시 windbg 프로그램이 실행됩니다.

4. 덤프 파일 저장

실행된 windbg 커맨드창 아래에 명령어를 입력할 수 있는 곳이 있습니다. 거기에 아래와 형식으로 작성 후 엔터 칩니다.

.dump /mf 경로\파일명.dmp

예를 들어 바탕화면에 file_save.dmp 파일명으로 저장할 경우 아래와 같이 작성합니다.

.dump /mf C:\Users\%USERPROFILE%\Desktop\file_save.dmp

좀 더 자세한 덤프를 저장하고 싶으면 /ma 옵션을 사용합니다.

.dump /ma C:\Users\%USERPROFILE%\Desktop\file_save.dmp

일회성 덤프 수집을 위한 작업이었다면 windbg는 제어판 프로그램 제거에서 삭제하면 됩니다.

반응형

댓글

Designed by JB FACTORY