Crashpad
Public Attributes | List of all members
MINIDUMP_EXCEPTION Struct Reference

Information about an exception that occurred in the process. More...

#include "dbghelp.h"

Public Attributes

uint32_t ExceptionCode
 The top-level exception code identifying the exception, in operating system-specific values. More...
 
uint32_t ExceptionFlags
 Additional exception flags that further identify the exception, in operating system-specific values. More...
 
uint64_t ExceptionRecord
 An address, in the address space of the process that this minidump file contains a snapshot of, of another MINIDUMP_EXCEPTION. This field is used for nested exceptions.
 
uint64_t ExceptionAddress
 The address that caused the exception. More...
 
uint32_t NumberParameters
 The number of valid elements in ExceptionInformation.
 
uint32_t __unusedAlignment
 
uint64_t ExceptionInformation [EXCEPTION_MAXIMUM_PARAMETERS]
 Additional information about the exception, specific to the operating system and possibly the ExceptionCode. More...
 

Detailed Description

Information about an exception that occurred in the process.

Member Data Documentation

uint64_t MINIDUMP_EXCEPTION::ExceptionAddress

The address that caused the exception.

This may be the address that caused a fault on data access, or it may be the instruction pointer that contained an offending instruction.

uint32_t MINIDUMP_EXCEPTION::ExceptionCode

The top-level exception code identifying the exception, in operating system-specific values.

For Mac OS X minidumps, this will be an EXC_* exception type, such as EXC_BAD_ACCESS. EXC_CRASH will not appear here for exceptions processed as EXC_CRASH when generated from another preceding exception: the original exception code will appear instead. The exception type as it was received will appear at index 0 of ExceptionInformation.

For Windows minidumps, this will be an EXCEPTION_* exception type, such as EXCEPTION_ACCESS_VIOLATION.

Note
This field is named ExceptionCode, but what is known as the “exception code” on Mac OS X/Mach is actually stored in the ExceptionFlags field of a minidump file.
Todo:
Document the possible values by OS. There may be OS-specific enums in minidump_extensions.h.
uint32_t MINIDUMP_EXCEPTION::ExceptionFlags

Additional exception flags that further identify the exception, in operating system-specific values.

For Mac OS X minidumps, this will be the value of the exception code at index 0 as received by a Mach exception handler, except:

  • For exception type EXC_CRASH generated from another preceding exception, the original exception code will appear here, not the code as received by the Mach exception handler.
  • For exception types EXC_RESOURCE and EXC_GUARD, the high 32 bits of the code received by the Mach exception handler will appear here.

In all cases for Mac OS X minidumps, the code as it was received by the Mach exception handler will appear at index 1 of ExceptionInformation.

For Windows minidumps, this will either be 0 if the exception is continuable, or EXCEPTION_NONCONTINUABLE to indicate a noncontinuable exception.

Todo:
Document the possible values by OS. There may be OS-specific enums in minidump_extensions.h.
uint64_t MINIDUMP_EXCEPTION::ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]

Additional information about the exception, specific to the operating system and possibly the ExceptionCode.

For Mac OS X minidumps, this will contain the exception type as received by a Mach exception handler and the values of the codes[0] and codes[1] (exception code and subcode) parameters supplied to the Mach exception handler. Unlike ExceptionCode and ExceptionFlags, the values received by a Mach exception handler are used directly here even for the EXC_CRASH, EXC_RESOURCE, and EXC_GUARD exception types. For Windows, these are additional arguments (if any) as provided to RaiseException().


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