Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  Crash Dump 생성 
작성일시 : 2008. 1. 5. 19:41 | 분류 : Windows Server/Kernel

Crash Dump는 오류 발생시 KeBugCheckEX 함수에 의해서 생성된다.

When SMSS enables paging during the boot process, the system looks in the boot volume's paging file to see whether a crash dump is present and protects the part of the paging file occupied by a dump. This makes part or all of the boot volume paging file unusable for the early part of the boot, which can cause notifications to display that the system is running low on virtual memory, a condition that is only temporary. Later in the boot, Winlogon determines whether or not a crash dump is in the paging file by calling the undocumented NtQuerySystemInformation API, and if a crash dump is there, it launches the Savedump process (\Windows\System32\Savedump.exe) to extract the crash dump from the paging file and copy it to its final location. (출처 : Windows internals)

덤프가 생성되지 않는 이유

부팅할때 복사된 디스크 미니포트 드라이버, 덤프를 기록한 I/O 관리자 함수들, 부트 볼륨의 페이징 파일 맵등의 Crash Dump에 영향을 끼진 구성요서들의 체크섬을 기록하고, 문제 발생시 이 덤프를 생성하기 전에 한번더 위의 체크섬을 확인 한 후 두 체크섬을 비교하여 덤프를 생성 여부를 결정한다.

이렇게 하지 않을 경우 Crash Dump의 생성을 실패하거나 디스크를 손상시킬 수 있다. 체크섬이 일치하면 파일 시스템 드라이버를 우회하여 직접 KeBugCheckEx가 듬프 정보를 페이징 파일에 쓴다.

|