5/06/2009

디버깅 팁: 크래쉬 온 디맨드(Crash On Demand)

윈도우즈 시스템이 갑자기 멈춘다든지 문제가 생겼음에도 불구하고 크래쉬가 되지 않아서 크래쉬 덤프를 얻지 못하는 경우가 있다. 이렇게 멈춘 시스템에서 메모리 덤프를 얻을 수 있다면 프로세스의 쓰레드등의 상태를 분석하여 원인을 알아 낼 수 있을 것이다. 이에 대한 방법으로 키보드의 핫키를 통한 크래쉬 온 디맨드 서비스를 사용할 수 있다.

간단히 요약하자면 다음의 해당하는 레지스트리 키에 CrashOnCtrlScroll이라는 Value를 만들고 데이타를 1으로 세팅하면 된다. 한가지 아쉬운 점은 Windows 2008시스템에서 USB Keyboard를 사용할 경우 이 핫키 세팅이 작동하지 않는다라는 사실이다.

Registry Key

PS/2 Keyboard: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters

USB Keyboard: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters

Value: CrashOnCtrlScroll

Data Type: DWORD

Data: 1

 

Forcing a System Crash from the Keyboard

Windows feature lets you generate a memory dump file by using the keyboard

Overview of memory dump file options for Windows Vista, Windows Server 2008, Windows Server 2003, Windows XP, and Windows 2000

단 이 키는 미리 세팅이 된 후에 리부팅을 한 상태여야 하므로 평소에 레지스트리 키를 셋업해 놓는 것이 좋을 것이다.

 

Posted via email from bugtruck's posterous

댓글 1개: