Crashpad
Classes | Macros | Typedefs | Enumerations | Functions
dbghelp.h File Reference
#include <stdint.h>
#include "base/strings/string16.h"
#include "compat/non_win/timezoneapi.h"
#include "compat/non_win/verrsrc.h"
#include "compat/non_win/winnt.h"

Classes

struct  MINIDUMP_LOCATION_DESCRIPTOR
 A pointer to a structure or union within a minidump file. More...
 
struct  MINIDUMP_MEMORY_DESCRIPTOR
 A pointer to a snapshot of a region of memory contained within a minidump file. More...
 
struct  MINIDUMP_HEADER
 The top-level structure identifying a minidump file. More...
 
struct  MINIDUMP_DIRECTORY
 A pointer to a stream within a minidump file. More...
 
struct  MINIDUMP_STRING
 A variable-length UTF-16-encoded string carried within a minidump file. More...
 
union  CPU_INFORMATION
 Information about the CPU (or CPUs) that ran the process that the minidump file contains a snapshot of. More...
 
struct  MINIDUMP_SYSTEM_INFO
 Information about the system that hosted the process that the minidump file contains a snapshot of. More...
 
struct  MINIDUMP_THREAD
 Information about a specific thread within the process. More...
 
struct  MINIDUMP_THREAD_LIST
 Information about all threads within the process. More...
 
struct  MINIDUMP_EXCEPTION
 Information about an exception that occurred in the process. More...
 
struct  MINIDUMP_EXCEPTION_STREAM
 Information about the exception that triggered a minidump file’s generation. More...
 
struct  MINIDUMP_MODULE
 Information about a specific module loaded within the process at the time the snapshot was taken. More...
 
struct  MINIDUMP_MODULE_LIST
 Information about all modules loaded within the process at the time the snapshot was taken. More...
 
struct  MINIDUMP_MEMORY_LIST
 Information about memory regions within the process. More...
 
struct  MINIDUMP_HANDLE_DESCRIPTOR
 Contains the state of an individual system handle at the time the snapshot was taken. This structure is Windows-specific. More...
 
struct  MINIDUMP_HANDLE_DESCRIPTOR_2
 Contains the state of an individual system handle at the time the snapshot was taken. This structure is Windows-specific. More...
 
struct  MINIDUMP_UNLOADED_MODULE
 Information about a specific module that was recorded as being unloaded at the time the snapshot was taken. More...
 
struct  MINIDUMP_UNLOADED_MODULE_LIST
 Information about all modules recorded as unloaded when the snapshot was taken. More...
 
struct  XSTATE_CONFIG_FEATURE_MSC_INFO
 Information about XSAVE-managed state stored within CPU-specific context structures. More...
 
struct  MINIDUMP_MISC_INFO
 Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. More...
 
struct  MINIDUMP_MISC_INFO_2
 Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. More...
 
struct  MINIDUMP_MISC_INFO_3
 Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. More...
 
struct  MINIDUMP_MISC_INFO_4
 Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. More...
 
struct  MINIDUMP_MISC_INFO_5
 Information about the process that the minidump file contains a snapshot of, as well as the system that hosted that process. More...
 
struct  MINIDUMP_MEMORY_INFO
 Describes a region of memory. More...
 
struct  MINIDUMP_MEMORY_INFO_LIST
 Contains a list of memory regions. More...
 

Macros

#define MINIDUMP_SIGNATURE   ('PMDM')
 The magic number for a minidump file, stored in MINIDUMP_HEADER::Signature. More...
 
#define MINIDUMP_VERSION   (42899)
 The version of a minidump file, stored in MINIDUMP_HEADER::Version.
 
MINIDUMP_MISC*

Field validity flag values for MINIDUMP_MISC_INFO::Flags1.

#define MINIDUMP_MISC1_PROCESS_ID   0x00000001
 MINIDUMP_MISC_INFO::ProcessId is valid.
 
#define MINIDUMP_MISC1_PROCESS_TIMES   0x00000002
 The time-related fields in MINIDUMP_MISC_INFO are valid. More...
 
#define MINIDUMP_MISC1_PROCESSOR_POWER_INFO   0x00000004
 The CPU-related fields in MINIDUMP_MISC_INFO_2 are valid. More...
 
#define MINIDUMP_MISC3_PROCESS_INTEGRITY   0x00000010
 MINIDUMP_MISC_INFO_3::ProcessIntegrityLevel is valid.
 
#define MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS   0x00000020
 MINIDUMP_MISC_INFO_3::ProcessExecuteFlags is valid.
 
#define MINIDUMP_MISC3_TIMEZONE   0x00000040
 The time zone-related fields in MINIDUMP_MISC_INFO_3 are valid. More...
 
#define MINIDUMP_MISC3_PROTECTED_PROCESS   0x00000080
 MINIDUMP_MISC_INFO_3::ProtectedProcess is valid.
 
#define MINIDUMP_MISC4_BUILDSTRING   0x00000100
 The build string-related fields in MINIDUMP_MISC_INFO_4 are valid. More...
 
#define MINIDUMP_MISC5_PROCESS_COOKIE   0x00000200
 MINIDUMP_MISC_INFO_5::ProcessCookie is valid.
 

Typedefs

typedef uint32_t RVA
 An offset within a minidump file, relative to the start of its MINIDUMP_HEADER. More...
 
typedef MINIDUMP_MISC_INFO_5 MINIDUMP_MISC_INFO_N
 The latest known version of the MINIDUMP_MISC_INFO structure.
 

Enumerations

enum  MINIDUMP_STREAM_TYPE
 Minidump stream type values for MINIDUMP_DIRECTORY::StreamType. Each stream structure has a corresponding stream type value to identify it. More...
 
enum  MINIDUMP_TYPE
 Minidump file type values for MINIDUMP_HEADER::Flags. These bits describe the types of data carried within a minidump file. More...
 

Functions

struct __attribute ((packed, aligned(4))) MINIDUMP_HANDLE_DATA_STREAM
 Represents the header for a handle data stream. More...
 

Macro Definition Documentation

◆ MINIDUMP_MISC1_PROCESS_TIMES

#define MINIDUMP_MISC1_PROCESS_TIMES   0x00000002

◆ MINIDUMP_MISC1_PROCESSOR_POWER_INFO

#define MINIDUMP_MISC1_PROCESSOR_POWER_INFO   0x00000004

The CPU-related fields in MINIDUMP_MISC_INFO_2 are valid.

The following fields are valid:

Note
This macro should likely have been named MINIDUMP_MISC2_PROCESSOR_POWER_INFO.

◆ MINIDUMP_MISC3_TIMEZONE

#define MINIDUMP_MISC3_TIMEZONE   0x00000040

The time zone-related fields in MINIDUMP_MISC_INFO_3 are valid.

The following fields are valid:

◆ MINIDUMP_MISC4_BUILDSTRING

#define MINIDUMP_MISC4_BUILDSTRING   0x00000100

The build string-related fields in MINIDUMP_MISC_INFO_4 are valid.

The following fields are valid:

◆ MINIDUMP_SIGNATURE

#define MINIDUMP_SIGNATURE   ('PMDM')

The magic number for a minidump file, stored in MINIDUMP_HEADER::Signature.

A hex dump of a little-endian minidump file will begin with the string “MDMP”.

Typedef Documentation

◆ RVA

typedef uint32_t RVA

An offset within a minidump file, relative to the start of its MINIDUMP_HEADER.

RVA stands for “relative virtual address”. Within a minidump file, RVAs are used as pointers to link structures together.

See also
MINIDUMP_LOCATION_DESCRIPTOR

Enumeration Type Documentation

◆ MINIDUMP_STREAM_TYPE

Minidump stream type values for MINIDUMP_DIRECTORY::StreamType. Each stream structure has a corresponding stream type value to identify it.

See also
crashpad::MinidumpStreamType
Enumerator
ThreadListStream 

The stream type for MINIDUMP_THREAD_LIST.

ModuleListStream 

The stream type for MINIDUMP_MODULE_LIST.

MemoryListStream 

The stream type for MINIDUMP_MEMORY_LIST.

ExceptionStream 

The stream type for MINIDUMP_EXCEPTION_STREAM.

SystemInfoStream 

The stream type for MINIDUMP_SYSTEM_INFO.

HandleDataStream 

The stream contains information about active HANDLEs.

UnloadedModuleListStream 

The stream type for MINIDUMP_UNLOADED_MODULE_LIST.

MiscInfoStream 

The stream type for MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2, MINIDUMP_MISC_INFO_3, MINIDUMP_MISC_INFO_4, and MINIDUMP_MISC_INFO_5.

More recent versions of this stream are supersets of earlier versions.

The exact version of the stream that is present is implied by the stream’s size. Furthermore, this stream contains a field, MINIDUMP_MISC_INFO::Flags1, that indicates which data is present and valid.

MemoryInfoListStream 

The stream type for MINIDUMP_MEMORY_INFO_LIST.

LastReservedStream 

Values greater than this value will not be used by the system and can be used for custom user data streams.

◆ MINIDUMP_TYPE

Minidump file type values for MINIDUMP_HEADER::Flags. These bits describe the types of data carried within a minidump file.

Enumerator
MiniDumpNormal 

A minidump file without any additional data.

This type of minidump file contains:

Function Documentation

◆ __attribute()

struct __attribute ( (packed, aligned(4))  )

Represents the header for a handle data stream.

A list of MINIDUMP_HANDLE_DESCRIPTOR or MINIDUMP_HANDLE_DESCRIPTOR_2 structures will immediately follow in the stream.

The size of the header information for the stream, in bytes. This value is sizeof(MINIDUMP_HANDLE_DATA_STREAM).

The size of a descriptor in the stream, in bytes. This value is sizeof(MINIDUMP_HANDLE_DESCRIPTOR) or sizeof(MINIDUMP_HANDLE_DESCRIPTOR_2).

The number of descriptors in the stream.

Must be zero.