Crashpad
Public Types | Public Member Functions | Static Public Member Functions | List of all members
crashpad::CrashpadInfo Struct Reference

A structure that can be used by a Crashpad-enabled program to provide information to the Crashpad crash handler. More...

#include "client/crashpad_info.h"

Public Types

enum  : uint32_t
 

Public Member Functions

void set_simple_annotations (SimpleStringDictionary *simple_annotations)
 Sets the simple annotations dictionary. More...
 
void set_crashpad_handler_behavior (TriState crashpad_handler_behavior)
 Enables or disables Crashpad handler processing. More...
 
void set_system_crash_reporter_forwarding (TriState system_crash_reporter_forwarding)
 Enables or disables Crashpad forwarding of exceptions to the system’s crash reporter. More...
 

Static Public Member Functions

static CrashpadInfoGetCrashpadInfo ()
 Returns the global CrashpadInfo structure.
 

Detailed Description

A structure that can be used by a Crashpad-enabled program to provide information to the Crashpad crash handler.

It is possible for one CrashpadInfo structure to appear in each loaded code module in a process, but from the perspective of the user of the client interface, there is only one global CrashpadInfo structure, located in the module that contains the client interface code.

Member Function Documentation

void crashpad::CrashpadInfo::set_crashpad_handler_behavior ( TriState  crashpad_handler_behavior)
inline

Enables or disables Crashpad handler processing.

When handling an exception, the Crashpad handler will scan all modules in a process. The first one that has a CrashpadInfo structure populated with a value other than kUnset for this field will dictate whether the handler is functional or not. If all modules with a CrashpadInfo structure specify kUnset, the handler will be enabled. If disabled, the Crashpad handler will still run and receive exceptions, but will not take any action on an exception on its own behalf, except for the action necessary to determine that it has been disabled.

The Crashpad handler should not normally be disabled. More commonly, it is appropraite to disable crash report upload by calling Settings::SetUploadsEnabled().

void crashpad::CrashpadInfo::set_simple_annotations ( SimpleStringDictionary simple_annotations)
inline

Sets the simple annotations dictionary.

Simple annotations set on a CrashpadInfo structure are interpreted by Crashpad as module-level annotations.

Annotations may exist in simple_annotations at the time that this method is called, or they may be added, removed, or modified in simple_annotations after this method is called.

Parameters
[in]simple_annotationsA dictionary that maps string keys to string values. The CrashpadInfo object does not take ownership of the SimpleStringDictionary object. It is the caller’s responsibility to ensure that this pointer remains valid while it is in effect for a CrashpadInfo object.
void crashpad::CrashpadInfo::set_system_crash_reporter_forwarding ( TriState  system_crash_reporter_forwarding)
inline

Enables or disables Crashpad forwarding of exceptions to the system’s crash reporter.

When handling an exception, the Crashpad handler will scan all modules in a process. The first one that has a CrashpadInfo structure populated with a value other than kUnset for this field will dictate whether the exception is forwarded to the system’s crash reporter. If all modules with a CrashpadInfo structure specify kUnset, forwarding will be enabled. Unless disabled, forwarding may still occur if the Crashpad handler is disabled by SetCrashpadHandlerState(). Even when forwarding is enabled, the Crashpad handler may choose not to forward all exceptions to the system’s crash reporter in cases where it has reason to believe that the system’s crash reporter would not normally have handled the exception in Crashpad’s absence.


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