Crashpad
Public Attributes | List of all members
MINIDUMP_SYSTEM_INFO Struct Reference

Information about the system that hosted the process that the minidump file contains a snapshot of. More...

#include "dbghelp.h"

Public Attributes

uint16_t ProcessorArchitecture
 The system’s CPU architecture. This may be a PROCESSOR_ARCHITECTURE_* value, or a member of crashpad::MinidumpCPUArchitecture. More...
 
uint16_t ProcessorLevel
 General CPU version information. More...
 
uint16_t ProcessorRevision
 Specific CPU version information. More...
 
uint8_t NumberOfProcessors
 The total number of CPUs present in the system.
 
uint8_t ProductType
 The system’s operating system type, which distinguishes between “desktop” or “workstation” systems and “server” systems. This may be a VER_NT_* value, or a member of crashpad::MinidumpOSType.
 
uint32_t MajorVersion
 The system’s operating system version number’s first (major) component. More...
 
uint32_t MinorVersion
 The system’s operating system version number’s second (minor) component. More...
 
uint32_t BuildNumber
 The system’s operating system version number’s third (build or patch) component. More...
 
uint32_t PlatformId
 The system’s operating system family. This may be a VER_PLATFORM_* value, or a member of crashpad::MinidumpOS.
 
RVA CSDVersionRva
 RVA of a MINIDUMP_STRING containing operating system-specific version information. More...
 
uint16_t SuiteMask
 A bitfield identifying products installed on the system. This is composed of VER_SUITE_* values. More...
 
uint16_t Reserved2
 
CPU_INFORMATION Cpu
 Information about the system’s CPUs. More...
 

Detailed Description

Information about the system that hosted the process that the minidump file contains a snapshot of.

Member Data Documentation

◆ BuildNumber

uint32_t MINIDUMP_SYSTEM_INFO::BuildNumber

The system’s operating system version number’s third (build or patch) component.

  • For Windows 7 (NT 6.1) SP1, version 6.1.7601, this would be 7601.
  • For macOS 10.12.1, this would be 1.

◆ Cpu

CPU_INFORMATION MINIDUMP_SYSTEM_INFO::Cpu

Information about the system’s CPUs.

This field is a union. Which of its members should be expressed is controlled by the ProcessorArchitecture field. If it is set to crashpad::kMinidumpCPUArchitectureX86, the CPU_INFORMATION::X86CpuInfo field is expressed. Otherwise, the CPU_INFORMATION::OtherCpuInfo field is expressed.

Note
Older Breakpad implementations produce minidump files that express CPU_INFORMATION::X86CpuInfo when ProcessorArchitecture is set to crashpad::kMinidumpCPUArchitectureAMD64. Minidump files produced by dbghelp.dll on Windows express CPU_INFORMATION::OtherCpuInfo in this case.

◆ CSDVersionRva

RVA MINIDUMP_SYSTEM_INFO::CSDVersionRva

RVA of a MINIDUMP_STRING containing operating system-specific version information.

This field further identifies an operating system version beyond its version number fields. Historically, “CSD” stands for “corrective service diskette.”

  • On Windows, this is the name of the installed operating system service pack, such as “Service Pack 1”. If no service pack is installed, this field references an empty string.
  • On macOS, this is the operating system build number from sw_vers -buildVersion. For macOS 10.12.1 on most hardware types, this would be 16B2657.
  • On Linux and other Unix-like systems, this is the kernel version from uname -srvm, possibly with additional information appended. On Android, the ro.build.fingerprint system property is appended.

◆ MajorVersion

uint32_t MINIDUMP_SYSTEM_INFO::MajorVersion

The system’s operating system version number’s first (major) component.

  • For Windows 7 (NT 6.1) SP1, version 6.1.7601, this would be 6.
  • For macOS 10.12.1, this would be 10.

◆ MinorVersion

uint32_t MINIDUMP_SYSTEM_INFO::MinorVersion

The system’s operating system version number’s second (minor) component.

  • For Windows 7 (NT 6.1) SP1, version 6.1.7601, this would be 1.
  • For macOS 10.12.1, this would be 12.

◆ ProcessorArchitecture

uint16_t MINIDUMP_SYSTEM_INFO::ProcessorArchitecture

The system’s CPU architecture. This may be a PROCESSOR_ARCHITECTURE_* value, or a member of crashpad::MinidumpCPUArchitecture.

In some cases, a system may be able to run processes of multiple specific architecture types. For example, systems based on 64-bit architectures such as x86_64 are often able to run 32-bit code of another architecture in the same family, such as 32-bit x86. On these systems, this field will identify the architecture of the process that the minidump file contains a snapshot of.

◆ ProcessorLevel

uint16_t MINIDUMP_SYSTEM_INFO::ProcessorLevel

General CPU version information.

The precise interpretation of this field is specific to each CPU architecture. For x86-family CPUs (including x86_64 and 32-bit x86), this field contains the CPU family ID value from cpuid 1 eax, adjusted to take the extended family ID into account.

◆ ProcessorRevision

uint16_t MINIDUMP_SYSTEM_INFO::ProcessorRevision

Specific CPU version information.

The precise interpretation of this field is specific to each CPU architecture. For x86-family CPUs (including x86_64 and 32-bit x86), this field contains values obtained from cpuid 1 eax: the high byte contains the CPU model ID value adjusted to take the extended model ID into account, and the low byte contains the CPU stepping ID value.

◆ SuiteMask

uint16_t MINIDUMP_SYSTEM_INFO::SuiteMask

A bitfield identifying products installed on the system. This is composed of VER_SUITE_* values.

This field is Windows-specific, and has no meaning on other operating systems.


The documentation for this struct was generated from the following file: