IDebugClient3::WriteDumpFile2 메서드(dbgeng.h)

WriteDumpFile2 메서드는 사용자 모드 또는 커널 모드 크래시 덤프 파일을 만듭니다.

구문

HRESULT WriteDumpFile2(
  [in]           PCSTR DumpFile,
  [in]           ULONG Qualifier,
  [in]           ULONG FormatFlags,
  [in, optional] PCSTR Comment
);

매개 변수

[in] DumpFile

만들 덤프 파일의 이름을 지정합니다. DumpFile 에는 파일 이름 확장명을 포함해야 합니다. DumpFile 에는 상대 경로 또는 절대 경로가 포함될 수 있습니다. 상대 경로는 디버거가 시작된 디렉터리를 기준으로 합니다.

[in] Qualifier

만들 덤프 파일의 형식을 지정합니다. 가능한 값은 DEBUG_DUMP_XXX 참조하세요.

[in] FormatFlags

덤프 파일의 형식을 결정하는 플래그와 사용자 모드 미니덤프의 경우 파일에 포함할 정보를 지정합니다. 자세한 내용은 설명을 참조하세요.

[in, optional] Comment

크래시 덤프 파일에 포함할 주석 문자열을 지정합니다. 이 문자열은 덤프 파일이 로드될 때 디버거 콘솔에 표시됩니다. 일부 덤프 파일 형식은 주석 문자열 저장을 지원하지 않습니다.

반환 값

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.

설명

DEBUG_FORMAT_XXX 비트 플래그는 WriteDumpFile2WriteDumpFileWide 에서 크래시 덤프 파일의 형식을 확인하고 사용자 모드 Minidumps의 경우 파일에 포함할 정보를 결정하는 데 사용됩니다.

다음 비트 플래그는 모든 크래시 덤프 파일에 적용됩니다.

Description
DEBUG_FORMAT_WRITE_CAB CAB 파일에 크래시 덤프 파일을 패키지합니다. 제공된 파일 이름 또는 파일 핸들은 CAB 파일에 사용됩니다. 크래시 덤프는 CAB 파일로 이동하기 전에 먼저 임시 파일에서 만들어집니다.
DEBUG_FORMAT_CAB_SECONDARY_FILES
CAB 파일에 현재 기호 및 매핑된 이미지를 포함합니다.
DEBUG_FORMAT_WRITE_CAB 설정되지 않은 경우 이 플래그는 무시됩니다.
DEBUG_FORMAT_NO_OVERWRITE 기존 파일을 덮어쓰지 마세요.
 

사용자 모드 Minidump에 대해 다음 비트 플래그를 포함할 수도 있습니다.

Description
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY 전체 메모리 데이터를 추가합니다. 대상 애플리케이션이 소유한 모든 액세스 가능한 커밋된 페이지가 포함됩니다.
DEBUG_FORMAT_USER_SMALL_HANDLE_DATA 대상 애플리케이션과 연결된 핸들에 대한 데이터를 추가합니다.
DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES 언로드된 모듈 정보를 추가합니다. 이 정보는 Windows Server 2003 이상 버전의 Windows에서만 사용할 수 있습니다.
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY 간접 메모리를 추가합니다. 스택 또는 백업 저장소의 포인터에서 참조하는 모든 주소를 둘러싸는 작은 메모리 영역이 포함됩니다.
DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS 실행 파일 이미지 내에 모든 데이터 세그먼트를 추가합니다.
DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY 스택 추적을 다시 만드는 데 유용하지 않은 스택 및 백업 저장소의 모든 메모리를 0으로 설정합니다. 이렇게 하면 불필요한 정보를 제거하여 Minidump를 더 효율적으로 압축하고 개인 정보를 늘릴 수 있습니다.
DEBUG_FORMAT_USER_SMALL_FILTER_PATHS 모듈 이름만 남기고 모듈 경로를 제거합니다. 이는 사용자의 이름을 포함할 수 있는 디렉터리 구조를 숨김으로써 개인 정보를 보호하는 데 유용합니다.
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA PEB(프로세스 환경 블록) 및 TEB(스레드 환경 블록)를 추가합니다. 이 플래그는 스레드 및 프로세스에 대한 Windows 시스템 정보를 제공하는 데 사용할 수 있습니다.
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY 커밋된 모든 프라이빗 읽기-쓰기 메모리 페이지를 추가합니다.
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA
개인 정보 보호에 민감한 데이터가 Minidump에 포함되지 않도록 합니다. 현재 이 플래그는 다음 플래그가 설정되어 추가되었을 Minidump 데이터에서 제외됩니다.
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY.
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO 모든 기본 메모리 정보를 추가합니다. QueryVirtual 메서드에서 반환하는 정보입니다. 디버거가 Minidump에서 전체 가상 메모리 레이아웃을 재구성할 수 있도록 유효한 메모리뿐만 아니라 모든 메모리에 대한 정보가 포함됩니다.
DEBUG_FORMAT_USER_SMALL_THREAD_INFO 실행 시간, 시작 시간, 종료 시간, 시작 주소 및 종료 상태 포함하는 추가 스레드 정보를 추가합니다.
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS 실행 파일을 사용하여 모든 코드 세그먼트를 추가합니다.
 

크래시 덤프 파일에 대한 자세한 내용은 덤프 파일 대상을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)

추가 정보

.dump(덤프 파일 만들기)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide