Crashpad

Public Attributes | List of all members
MINIDUMP_MODULE Struct Reference

Information about a specific module loaded within the process at the time the snapshot was taken. More...

`#include "dbghelp.h"`

## Public Attributes
uint64_t | BaseOfImage
| The base address of the loaded module in the address space of the process that the minidump file contains a snapshot of.
uint32_t | SizeOfImage
| The size of the loaded module.
uint32_t | CheckSum
| The loaded module’s checksum, or `0` if unknown. More...
uint32_t | TimeDateStamp
| The module’s timestamp, in `time_t` units, seconds since the POSIX epoch. More...
RVA | ModuleNameRva
| RVA of a MINIDUMP_STRING containing the module’s path or file name.
VS_FIXEDFILEINFO | VersionInfo
| The module’s version information.
MINIDUMP_LOCATION_DESCRIPTOR | CvRecord
| A pointer to the module’s CodeView record, typically a link to its debugging information in crashpad::CodeViewRecordPDB70 format. More...
MINIDUMP_LOCATION_DESCRIPTOR | MiscRecord
| A pointer to the module’s miscellaneous debugging record, a structure of type IMAGE_DEBUG_MISC. More...
uint64_t | Reserved0
uint64_t | Reserved1

## Detailed Description

Information about a specific module loaded within the process at the time the snapshot was taken.

A module may be the main executable, a shared library, or a loadable module.

See also
  MINIDUMP_MODULE_LIST

## Member Data Documentation

## ◆ CheckSum

uint32_t MINIDUMP_MODULE::CheckSum

The loaded module’s checksum, or `0` if unknown.

On Windows, this field comes from the `CheckSum` field of the module’s `IMAGE_OPTIONAL_HEADER` structure, if present. It reflects the checksum at the time the module was linked.

## ◆ CvRecord

MINIDUMP_LOCATION_DESCRIPTOR MINIDUMP_MODULE::CvRecord

A pointer to the module’s CodeView record, typically a link to its debugging information in crashpad::CodeViewRecordPDB70 format.

The specific format of the CodeView record is indicated by its signature, the first 32-bit value in the structure. For links to debugging information in contemporary usage, this is normally a crashpad::CodeViewRecordPDB70 structure, but may be a crashpad::CodeViewRecordPDB20 structure instead. These structures identify a link to debugging data within a `.pdb` (Program Database) file. See Matching Debug Information, PDB Files.

On Windows, it is also possible for the CodeView record to contain debugging information itself, as opposed to a link to a `.pdb` file. See Microsoft Symbol and Type Information, section 7.2, “Debug Information Format” for a list of debug information formats, and Undocumented Windows 2000 Secrets, Windows 2000 Debugging Support/Microsoft Symbol File Internals/CodeView Subsections for an in-depth description of the CodeView 4.1 format. Signatures seen in the wild include “NB09” (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. This form of debugging information within the module, as opposed to a link to an external `.pdb` file, is chosen by building with `/Z7` in Visual Studio 6.0 (1998) and earlier. This embedded form of debugging information is now considered obsolete.

On Windows, the CodeView record is taken from a module’s IMAGE_DEBUG_DIRECTORY entry whose Type field has the value IMAGE_DEBUG_TYPE_CODEVIEW (`2`), if any. Records in crashpad::CodeViewRecordPDB70 format are generated by Visual Studio .NET (2002) (version 7.0) and later.

When the CodeView record is not present, the fields of this MINIDUMP_LOCATION_DESCRIPTOR will be `0`.

## ◆ MiscRecord

MINIDUMP_LOCATION_DESCRIPTOR MINIDUMP_MODULE::MiscRecord

A pointer to the module’s miscellaneous debugging record, a structure of type IMAGE_DEBUG_MISC.

This field is Windows-specific, and has no meaning on other operating systems. It is largely obsolete on Windows, where it was used to link to debugging information stored in a `.dbg` file. `.dbg` files have been superseded by `.pdb` files.

On Windows, the miscellaneous debugging record is taken from module’s IMAGE_DEBUG_DIRECTORY entry whose Type field has the value IMAGE_DEBUG_TYPE_MISC (`4`), if any.

When the miscellaneous debugging record is not present, the fields of this MINIDUMP_LOCATION_DESCRIPTOR will be `0`.

See also
  CvRecord

## ◆ TimeDateStamp

uint32_t MINIDUMP_MODULE::TimeDateStamp

The module’s timestamp, in `time_t` units, seconds since the POSIX epoch.

On Windows, this field comes from the `TimeDateStamp` field of the module’s `IMAGE_HEADER` structure. It reflects the timestamp at the time the module was linked.

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

- compat/non_win/dbghelp.h