반응형

수동으로 언제든 간단하게 크래시를 발생시켜 블루 스크린이 뜨게 해 보자.

 

CrashOnCtrlScroll 키를 생성한다. (USB 키보드 사용)

PS/2 키보드의 경우 아래 경로에 키를 생성한다. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters

 

그리고 재부팅 후 원하는 순간에 (키보드 오른쪽에 있는)Ctrl키를 누르고 Scroll Lock키를 두 번 누른다.

 

블루 스크린이 뜬다. (중지 코드: MANUALLY_INITIATED_CRASH)

 

지정된 폴더에 메모리 덤프가 생성된다.

 

Windbg로 확인해 보면 매뉴얼 크래시가 표시된다.

 

※ 참고

Forcing a system crash from the keyboard

 

반응형
Posted by J-sean
:
반응형

응용 프로그램이 비정상 종료하는 경우 덤프 파일을 생성하도록 해 보자.

 

응용 프로그램 크래시 발생시 자동으로 에러 리포트가 작성된다. 하지만 문제 파일, 운영체제 등의 정보만 들어 있어 별 의미가 없다.

 

크래시 발생시 덤프할 파일명으로 레지스트리 키를 만든다.

 

Value Description Type Default Value
DumpFolder 덤프 파일 생성 폴더 REG_EXPAND_SZ %LOCALAPPDATA%\CrashDumps
DumpCount 폴더에 보관할 덤프파일 갯수 REG_DWORD 10
DumpType 덤프 타입
1: 미니 덤프
2: 전체 덤프
RED_DWORD 1

 

응용 프로그램 크래시가 발생하면 레지스트리에 설정한 대로 덤프 파일이 생성된다.

 

위 내용은 응용 프로그램마다 개별적으로 적용하는 경우이고 ...\Windows Error Reporting\LocalDumps 레지스트리에 키 값을 만들어주면 모든 프로그램에 대해 동일한 덤프 세팅을 적용할 수 있다. 기본적으로 C:\Users\XXXX\AppData\Local\CrashDumps에 덤프 파일이 생성되도록 설정되어 있다.

 

※ 참고

Collecting User-Mode Dumps

 

반응형
Posted by J-sean
:
반응형

Windbg로 분석할 수 있도록 덤프 파일을 생성해 보자.

 

디버깅 정보 쓰기 - '커널/전체 메모리 덤프'가 선택되어 있어야 한다.

 

NotMyFault.zip
1.40MB

위 파일을 다운로드하고 압축을 풀어준다.

 

컴퓨터 환경에 맞는 파일을 실행한다.

 

크래시 발생 옵션을 선택하고 Crash 버튼을 클릭한다.

Crash 버튼을 클릭하면 블루 스크린이 나타나고 재부팅 되니 열려있는 작업은 모두 종료한다.

 

메모리 덤프가 생성된다.

 

※ 참고

Generate a kernel or complete crash dump

 

반응형
Posted by J-sean
: