본문 바로가기

Windows/기술과 팁

Windows 덤프 분석하기 3


Dumpchk.exe 를 이용하는 방법

http://support.microsoft.com/kb/315263/ko



기술 자료: 315263 - 마지막 검토: 2007년 12월 3일 월요일 - 수정: 4.4

Windows에서 디버깅을 위해 만든 작은 메모리 덤프 파일을 읽는 방법

시스템 팁본 문서의 정보는 현재 사용하는 Windows 버전과 다른 버전에 적용됩니다. 따라서 문서의 내용이 관련되지 않을 수도 있습니다.Windows 7 솔루션 센터 방문하기

이 페이지에서

모두 확대 | 모두 축소

요약
이 문서에서는 작은 메모리 덤프 파일을 검사하는 방법을 단계별로 설명합니다. 이 파일을 사용하면 컴퓨터가 응답을 중지한 이유를 확인할 수 있습니...

이 문서에서는 작은 메모리 덤프 파일을 검사하는 방법을 단계별로 설명합니다. 이 파일을 사용하면 컴퓨터가 응답을 중지한 이유를 확인할 수 있습니다.

작은 메모리 덤프 파일

작은 메모리 덤프 파일은 컴퓨터가 예기치 않게 중지된 이유를 확인할 수 있는 최소한의 유용한 정보를 기록합니다. 이 옵션을 사용하려면 부팅 볼륨에 2MB 이상의 페이징 파일이 있어야 합니다. Microsoft Windows 2000 이상을 실행하는 컴퓨터에서 Windows는 컴퓨터가 예기치 않게 중지될 때마다 새 파일을 만듭니다. 이러한 파일의 기록은 폴더에 저장됩니다.

이 덤프 파일 유형은 다음 정보를 포함합니다.
  • 중지 메시지와 매개 변수 및 기타 데이터
  • 로드된 드라이버 목록
  • 중지된 프로세서에 대한 프로세서 컨텍스트(PRCB)
  • 중지된 프로세스에 대한 프로세스 정보 및 커널 컨텍스트(EPROCESS)
  • 중지된 스레드에 대한 프로세스 정보 및 커널 컨텍스트(ETHREAD)
  • 중지된 스레드에 대한 커널 모드 호출 스택
작은 메모리 덤프 파일은 하드 디스크 공간이 제한된 경우 유용할 수 있습니다. 그러나 제한된 정보만 포함되기 때문에 문제가 발생했을 때 실행 중이었던 스레드가 직접적인 원인이 아닌 오류는 이 파일을 분석하여 발견할 수 없습니다.

두 번째 문제가 발생하고 Windows에서 두 번째 작은 메모리 덤프 파일을 만든 경우 Windows에서는 이전 파일을 보존합니다. Windows에서 각 파일에 날짜가 인코딩된 고유한 파일 이름을 지정합니다. 예를 들어 Mini022900-01.dmp는 2000년 2월 29일에 생성된 첫 번째 메모리 덤프입니다. Windows는 모든 작은 메모리 덤프 파일을 %SystemRoot%\Minidump 폴더에 저장합니다.

덤프 유형 구성

작은 메모리 덤프 파일을 사용하여 시작 및 복구 옵션을 구성하려면 다음과 같이 하십시오.

참고Microsoft Windows 버전이 다양하므로 사용하는 컴퓨터에 따라 아래 단계가 다를 수도 있습니다. 이러한 경우에는 해당 제품 설명서를 참조하여 아래 절차를 완료하십시오.
  1. 시작을 누르고 설정을 가리킨 다음 제어판을 누릅니다.
  2. 시스템을 두 번 누릅니다.
  3. 고급 탭을 누른 다음 시작 및 복구에서 설정을 누릅니다.
  4. 디버깅 정보 쓰기 목록에서 작은 메모리 덤프(64KB)를 누릅니다.

    작은 메모리 덤프 파일의 폴더 위치를 변경하려면 덤프 파일 상자 또는 Windows 버전에 따라 작은 덤프 디렉터리 상자에 새 경로를 입력합니다.

작은 메모리 덤프 파일을 읽는 도구

덤프 확인 유틸리티(Dumpchk.exe)를 사용하여 작은 메모리 덤프 파일을 로드할 수 있습니다. Dumpchk.exe를 사용하여 메모리 덤프 파일이 올바르게 만들어졌는지 확인할 수도 있습니다. 덤프 확인 유틸리티에서는 디버깅 기호를 사용할 필요가 없습니다. 덤프 확인 유틸리티는 Microsoft Windows 2000 지원 도구 및 Microsoft Windows XP 지원 도구에 포함되어 있습니다.

Windows 2000 및 Windows NT에서 덤프 확인 유틸리티를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
156280 (http://support.microsoft.com/kb/156280/ ) Dumpchk.exe를 사용하여 메모리 덤프 파일을 검사하는 방법
Windows XP에서 덤프 확인 유틸리티를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
315271 (http://support.microsoft.com/kb/315271/ ) Dumpchk.exe를 사용하여 메모리 덤프 파일을 검사하는 방법
참고 덤프 확인 유틸리티는 Microsoft Windows Server 2003 지원 도구에 포함되어 있지 않습니다. Microsoft Windows Server 2003을 사용하는 경우에 덤프 확인 유틸리티를 구하려면 다음 Microsoft 웹 사이트에서 Windows용 디버깅 도구 패키지를 다운로드하고 설치하십시오.
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx) (영문)
또한 WinDbg 도구나 KD.exe 도구를 사용해도 작은 메모리 덤프 파일을 읽을 수 있습니다. WinDbg와 KD.exe는 Windows용 디버깅 도구 패키지의 최신 버전에 포함되어 있습니다.
또한 이 웹 페이지에서 다운로드할 수 있는 Windows용 기호 패키지에 액세스할 수 있습니다. 리소스를 사용하려면 다운로드된 로컬 기호 또는 기호 서버 사용을 위한 기호 캐시가 상주할 디스크 드라이브에 폴더를 만들어야 합니다(예: C:\Symbols). 이 문서에 설명되어 있는 모든 명령에 다음 기호 경로를 사용할 수 있습니다.
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
기호를 로컬 폴더로 다운로드하는 경우에는 이 폴더의 경로를 기호 경로로 사용하십시오.

Windows의 덤프 파일 옵션에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
254649 (http://support.microsoft.com/kb/254649/ ) Windows 2000, Windows XP 및 Windows Server 2003의 메모리 덤프 파일 옵션에 대한 개요

디버깅 도구 설치

Windows 디버깅 도구는 다음 Microsoft 웹 사이트에서 다운로드하여 설치할 수 있습니다.
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx) (영문)
Typical 설치를 선택합니다. 기본적으로 설치 관리자는 다음 폴더에 디버깅 도구를 설치합니다.
C:\Program Files\Debugging Tools for Windows

덤프 파일 열기

설치가 완료된 후에 덤프 파일을 열려면 다음과 같이 하십시오.
  1. 시작, 실행을 차례로 누르고 cmd를 입력한 다음 확인을 누릅니다.
  2. Debugging Tools for Windows 폴더로 변경합니다.명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 눌러 폴더를 변경합니다.
    cd c:\program files\debugging tools for windows
  3. 덤프 파일을 디버거로 로드하려면 다음 명령 중 하나를 입력한 다음 Enter 키를 누릅니다.
    windbg -y SymbolPath -i ImagePath -z DumpFilePath
    kd -y SymbolPath -i ImagePath -z DumpFilePath
다음 표는 이러한 명령에서 사용된 자리 표시자의 용도를 설명합니다.
표 축소표 확대
자리 표시자 설명
SymbolPath 기호 파일을 다운로드한 로컬 경로이거나 캐시 폴더를 포함한 기호 서버 경로입니다. 작은 메모리 덤프 파일에는 제한된 정보만 수록되어 있으므로 덤프 파일을 올바르게 읽기 위해서는 기호와 함께 실제 이진 파일도 로드해야 합니다.
ImagePath Windows XP CD-ROM의 I386 폴더에 포함되어 있는 파일의 경로입니다(예: C:\Windows\I386).
DumpFilePath 검사할 덤프 파일의 경로와 파일 이름입니다.

예제 명령

다음 예제 명령을 사용하여 덤프 파일을 열 수 있습니다. 이러한 명령은 다음과 같이 가정합니다.
  • Windows CD-ROM에 있는 I386 폴더의 내용을 C:\Windows\I386 폴더로 복사했습니다.
  • 덤프 파일의 이름은 C:\Windows\Minidump\Minidump.dmp입니다.
예제 1:
kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp
예제 2: 디버거의 명령줄 버전 대신 그래픽 버전을 사용하려는 경우에는 다음 명령을 입력합니다.
windbg -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp

덤프 파일 검사

덤프 파일에서 정보를 모으는 데 사용할 수 있는 명령에는 다음 명령을 포함한 몇 가지가 있습니다.
  • !analyze -show 명령은 Stop 오류 코드 및 매개 변수를 표시합니다. Stop 오류 코드는 버그 확인 코드라고도 합니다.
  • !analyze -v 명령은 자세한 정보 출력을 표시합니다.
  • lm N T 명령은 지정한 로드된 모듈을 나열합니다. 출력에는 모듈의 상태와 경로가 포함됩니다.
참고 !drivers 확장 명령은 대상 컴퓨터에 로드된 모든 드라이버 목록과 함께 이 드라이버의 메모리 사용과 관련된 요약 정보도 표시합니다. Windows XP 이상에서는 !drivers 확장을 사용하지 않습니다. 로드된 드라이버와 다른 모듈에 대한 정보를 표시하려면 lm 명령을 사용합니다. lm N T 명령은 이전 !drivers 확장과 비슷한 형식으로 정보를 표시합니다.

다른 명령에 대한 도움말을 보거나 전체 명령 구문을 보려면 디버깅 도구의 도움말 설명서를 참조하십시오. 디버깅 도구의 도움말 설명서는 다음 위치에서 찾을 수 있습니다.
C:\Program Files\Debugging Tools for Windows\Debugger.chm
참고 기호 관련 문제가 있을 경우 Symchk 유틸리티를 사용하여 올바른 기호가 제대로 로드되었는지 확인할 수 있습니다. Symchk 사용에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
311503 (http://support.microsoft.com/kb/311503/ ) Microsoft 기호 서버를 사용하여 디버그 기호 파일 구하기

배치 파일을 통해 명령 단순화

메모리 덤프를 로드해야 하는 명령을 확인한 다음 배치 파일을 만들어 덤프 파일을 검사할 수 있습니다. 예를 들어 배치 파일을 만든 다음 이름을 Dump.bat로 지정합니다. 디버깅 도구가 설치된 폴더에 파일을 저장합니다. 배치 파일에 다음 텍스트를 입력합니다.
cd "c:\program files\debugging tools for windows"

kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z %1
덤프 파일을 검사하려면 덤프 파일 경로를 배치 파일에 전달하는 다음 명령을 입력합니다.
dump c:\windows\minidump\minidump.dmp