An exception handler that writes crash reports to the ChromeOS crash_reporter.
More...
#include "handler/linux/cros_crash_report_exception_handler.h"
|
| CrosCrashReportExceptionHandler (CrashReportDatabase *database, const std::map< std::string, std::string > *process_annotations, const UserStreamDataSources *user_stream_data_sources) |
| Creates a new object that will pass reports to /sbin/crash_reporter . More...
|
|
bool | HandleException (pid_t client_process_id, uid_t client_uid, const ExceptionHandlerProtocol::ClientInformation &info, VMAddress requesting_thread_stack_address=0, pid_t *requesting_thread_id=nullptr, UUID *local_report_id=nullptr) override |
| Called on receipt of a crash dump request from a client. More...
|
|
bool | HandleExceptionWithBroker (pid_t client_process_id, uid_t client_uid, const ExceptionHandlerProtocol::ClientInformation &info, int broker_sock, UUID *local_report_id=nullptr) override |
| Called on the receipt of a crash dump request from a client for a crash that should be mediated by a PtraceBroker. More...
|
|
void | SetDumpDir (const base::FilePath &dump_dir) |
|
void | SetAlwaysAllowFeedback () |
|
Public Member Functions inherited from crashpad::ExceptionHandlerServer::Delegate |
virtual void | ExceptionHandlerServerStarted ()=0 |
| Called when the server has created the named pipe connection points and is ready to service requests.
|
|
virtual unsigned int | ExceptionHandlerServerException (HANDLE process, WinVMAddress exception_information_address, WinVMAddress debug_critical_section_address)=0 |
| Called when the client has signalled that it has encountered an exception and so wants a crash dump to be taken. More...
|
|
An exception handler that writes crash reports to the ChromeOS crash_reporter.
◆ CrosCrashReportExceptionHandler()
crashpad::CrosCrashReportExceptionHandler::CrosCrashReportExceptionHandler |
( |
CrashReportDatabase * |
database, |
|
|
const std::map< std::string, std::string > * |
process_annotations, |
|
|
const UserStreamDataSources * |
user_stream_data_sources |
|
) |
| |
Creates a new object that will pass reports to /sbin/crash_reporter
.
- Parameters
-
[in] | database | The database that supplies settings for this client. This object does not write its reports to this database. |
[in] | process_annotations | A map of annotations to insert as process-level annotations into each crash report that is written. Do not confuse this with module-level annotations, which are under the control of the crashing process, and are used to implement Chrome’s “crash keys.” Process-level annotations are those that are beyond the control of the crashing process, which must reliably be set even if the process crashes before it’s able to establish its own annotations. To interoperate with Breakpad servers, the recommended practice is to specify values for the "prod" and "ver" keys as process annotations. |
[in] | user_stream_data_sources | Data sources to be used to extend crash reports. For each crash report that is written, the data sources are called in turn. These data sources may contribute additional minidump streams. nullptr if not required. |
◆ HandleException()
bool crashpad::CrosCrashReportExceptionHandler::HandleException |
( |
pid_t |
client_process_id, |
|
|
uid_t |
client_uid, |
|
|
const ExceptionHandlerProtocol::ClientInformation & |
info, |
|
|
VMAddress |
requesting_thread_stack_address = 0 , |
|
|
pid_t * |
requesting_thread_id = nullptr , |
|
|
UUID * |
local_report_id = nullptr |
|
) |
| |
|
overridevirtual |
Called on receipt of a crash dump request from a client.
- Parameters
-
[in] | client_process_id | The process ID of the crashing client. |
[in] | client_uid | The user ID of the crashing client. |
[in] | info | Information on the client. |
[in] | requesting_thread_stack_address | Any address within the stack range for the the thread that sent the crash dump request. Optional. If unspecified or 0, requesting_thread_id will be -1. |
[out] | requesting_thread_id | The thread ID of the thread which requested the crash dump if not nullptr . Set to -1 if the thread ID could not be determined. Optional. |
[out] | local_report_id | The unique identifier for the report created in the local report database. Optional. |
- Returns
true
on success. false
on failure with a message logged.
Implements crashpad::ExceptionHandlerServer::Delegate.
◆ HandleExceptionWithBroker()
Called on the receipt of a crash dump request from a client for a crash that should be mediated by a PtraceBroker.
- Parameters
-
[in] | client_process_id | The process ID of the crashing client. |
[in] | client_uid | The uid of the crashing client. |
[in] | info | Information on the client. |
[in] | broker_sock | A socket connected to the PtraceBroker. |
[out] | local_report_id | The unique identifier for the report created in the local report database. Optional. |
- Returns
true
on success. false
on failure with a message logged.
Implements crashpad::ExceptionHandlerServer::Delegate.
The documentation for this class was generated from the following files:
- handler/linux/cros_crash_report_exception_handler.h
- handler/linux/cros_crash_report_exception_handler.cc