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:

- compat/non_win/dbghelp.h