Crashpad
|
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 CrashpadInfo * | GetCrashpadInfo () |
Returns the global CrashpadInfo structure. | |
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.
|
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().
|
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.
[in] | simple_annotations | A 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. |
|
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.