.dump(덤프 파일 만들기)
.dump 명령은 사용자 모드 또는 커널 모드 크래시 덤프 파일을 만듭니다.
.dump [options] FileName
.dump /?
매개 변수
옵션
다음 옵션 중 하나 이상을 나타냅니다.
/a
모든 프로세스에 대한 덤프를 만듭니다(-u 필요).
/b[a]
CAB에서 덤프를 패키지하고 덤프를 삭제합니다. 옵션이 지정된 경우 추가 정보가 포함됩니다.
/c <주석>
주석을 추가합니다(모든 형식에서 지원되지 않음).
/j <addr>
JIT_DEBUG_INFO 주소를 제공합니다.
/o
이름이 같은 기존 덤프 파일을 덮어씁니다. 이 옵션을 사용하지 않고 파일 이름이 같은 파일이 있는 경우 덤프 파일이 작성되지 않습니다.
/u
덤프 이름에 고유 식별자를 추가합니다.
/f[FullOptions]
(커널 모드:) 전체 메모리 덤프를 만듭니다.
(사용자 모드:) 지원되지 않습니다. 이전에 이 옵션은 최신 미니덤프 형식보다 정보가 적은 레거시 형식인 전체 사용자 모드 덤프를 만듭니다. 자세한 내용은 사용자 모드 덤프 파일 유형을 참조 하세요.
다음 FullOptions 를 추가하여 덤프 파일의 내용을 변경할 수 있습니다. 옵션은 대/소문자를 구분합니다.
FullOption | 효과 |
---|---|
y | 덤프 파일에 AVX 레지스터 정보를 추가합니다. |
/m[MiniOptions]
작은 메모리 덤프(커널 모드) 또는 미니덤프(사용자 모드)를 만듭니다. 자세한 내용은 사용자 모드 덤프 파일을 참조하세요. /f와 /m을 모두 지정하지 않으면 /m이 기본값입니다.
사용자 모드에서는 덤프에 포함할 추가 데이터를 지정하는 추가 MiniOptions와 함께 /m을 따를 수 있습니다. MiniOptions가 포함되지 않은 경우 덤프에는 모듈, 스레드 및 스택 정보가 포함되지만 추가 데이터는 포함되지 않습니다. 다음 MiniOptions 를 추가하여 덤프 파일의 내용을 변경할 수 있습니다. 대/소문자를 구분합니다.
MiniOption | 효과 |
---|---|
a | 모든 선택적 추가를 사용하여 미니덤프를 만듭니다. /ma 옵션은 /mfFhut과 동일합니다. 전체 메모리 데이터, 처리 데이터, 언로드된 모듈 정보, 기본 메모리 정보 및 스레드 시간 정보를 미니덤프에 추가합니다. 액세스할 수 없는 메모리를 읽지 못하면 미니덤프 생성이 종료됩니다. |
A | /mA 옵션은 액세스할 수 없는 메모리를 읽지 못하는 오류를 무시하고 미니덤프를 계속 생성한다는 점을 제외하고 /ma와 동일합니다. |
f | 미니덤프에 전체 메모리 데이터를 추가합니다. 대상 애플리케이션이 소유한 액세스 가능한 커밋된 모든 페이지가 포함됩니다. |
F | 미니덤프에 모든 기본 메모리 정보를 추가합니다. 그러면 유효한 메모리에 대한 정보뿐만 아니라 모든 기본 메모리 정보가 포함된 스트림이 미니덤프에 추가됩니다. 이렇게 하면 미니덤프를 디버그할 때 디버거가 프로세스의 전체 가상 메모리 레이아웃을 다시 구성할 수 있습니다. |
시간 | 대상 애플리케이션과 연결된 핸들에 대한 데이터를 미니덤프에 추가합니다. |
u | 언로드된 모듈 정보를 미니덤프에 추가합니다. |
t | 미니덤프에 추가 스레드 정보를 추가합니다. 여기에는 미니덤프를 디버깅할 때 !runaway 확장 또는 .ttime(스레드 시간 표시) 명령을 사용하여 표시할 수 있는 스레드 시간이 포함됩니다. |
i | 미니덤프에 보조 메모리를 추가합니다. 보조 메모리는 스택 또는 백업 저장소의 포인터에서 참조하는 메모리와 이 주소를 둘러싼 작은 영역입니다. |
p | PEB(프로세스 환경 블록) 및 TEB(스레드 환경 블록) 데이터를 미니덤프에 추가합니다. 이는 애플리케이션의 프로세스 및 스레드와 관련된 Windows 시스템 정보에 액세스해야 하는 경우에 유용할 수 있습니다. |
w | 커밋된 모든 읽기-쓰기 프라이빗 페이지를 미니덤프에 추가합니다. |
d | 실행 이미지 내의 모든 읽기-쓰기 데이터 세그먼트를 미니덤프에 추가합니다. |
c | 이미지 내에 코드 섹션을 추가합니다. |
r | 스택의 해당 부분을 미니덤프에서 삭제하고 스택 추적을 다시 만드는 데 유용하지 않은 메모리를 저장합니다. 지역 변수 및 기타 데이터 형식 값도 삭제됩니다. 이 옵션은 미니덤프를 더 작게 만들지 않지만(이러한 메모리 섹션이 단순히 0이기 때문에) 다른 애플리케이션의 개인 정보를 보호하려는 경우에 유용합니다. |
R | 미니덤프에서 전체 모듈 경로를 삭제합니다. 모듈 이름만 포함됩니다. 이는 사용자의 디렉터리 구조의 개인 정보를 보호하려는 경우에 유용한 옵션입니다. |
y | 덤프 파일에 AVX 레지스터 정보를 추가합니다. |
커널 모드 옵션
다음 옵션은 커널 모드에서 사용할 수 있습니다.
/k
커널 메모리만 있는 덤프를 만듭니다.
/카
활성 커널 및 사용자 모드 메모리를 사용하여 덤프를 만듭니다.
추가 정보
커널 모드 덤프 파일에 대한 설명과 해당 사용에 대한 설명은 커널 모드 덤프 파일을 참조 하세요. 사용자 모드 덤프 파일에 대한 설명 및 사용 설명은 사용자 모드 덤프 파일을 참조 하세요.
설명
이 명령은 다양한 상황에서 사용할 수 있습니다.
라이브 사용자 모드 디버깅 중에 이 명령은 대상 애플리케이션에 덤프 파일을 생성하도록 지시하지만 대상 애플리케이션은 종료되지 않습니다.
라이브 커널 모드 디버깅 중에 이 명령은 대상 컴퓨터에 덤프 파일을 생성하도록 지시하지만 대상 컴퓨터는 충돌하지 않습니다.
크래시 덤프 디버깅 중에 이 명령은 이전 명령에서 새 크래시 덤프 파일을 만듭니다. 이는 큰 크래시 덤프 파일이 있고 더 작은 크래시 덤프 파일을 만들려는 경우에 유용합니다.
생성될 덤프 파일의 형식을 제어할 수 있습니다.
커널 모드에서 전체 메모리 덤프를 생성하려면 /f 옵션을 사용합니다. 작은 메모리 덤프를 생성하려면 /m 옵션(또는 옵션 없음)을 사용합니다. .dump 명령은 커널 메모리 덤프를 생성할 수 없습니다.
사용자 모드에서 .dump /m[MiniOptions]가 가장 적합합니다. "m"은 "minidump"를 의미하지만 이 MiniOption 을 사용하여 만든 덤프 파일의 크기는 매우 작음에서 매우 큰 크기로 다를 수 있습니다. 적절한 MiniOptions 를 지정하여 포함된 정보를 정확하게 제어할 수 있습니다. 예를 들어 .dump /ma 는 많은 정보가 포함된 덤프를 생성합니다. 이전 명령인 .dump /f는 적당히 큰 "표준 덤프" 파일을 생성하며 사용자 지정할 수 없습니다.
덤프되는 프로세스를 지정할 수 없습니다. 실행 중인 모든 프로세스가 덤프됩니다.
/xc, /xr, /xp 및 /xt 옵션은 덤프 파일에 예외 및 컨텍스트 정보를 저장하는 데 사용됩니다. 이렇게 하면 이 덤프 파일에서 .ecxr(예외 컨텍스트 레코드 표시) 명령을 실행할 수 있습니다.
다음 예제에서는 전체 메모리 및 핸들 정보를 포함하는 사용자 모드 미니덤프를 만듭니다.
0:000> .dump /mfh myfile.dmp
!handle 확장 명령을 사용하여 핸들 정보를 읽을 수 있습니다.