|
| virtual 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)=0 |
| | Called on receipt of a crash dump request from a client.
|
| |
| virtual bool | HandleExceptionWithBroker (pid_t client_process_id, uid_t client_uid, const ExceptionHandlerProtocol::ClientInformation &info, int broker_sock, UUID *local_report_id=nullptr)=0 |
| | Called on the receipt of a crash dump request from a client for a crash that should be mediated by a PtraceBroker.
|
| |
| 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.
|
| |
◆ ExceptionHandlerServerException()
| virtual unsigned int crashpad::ExceptionHandlerServer::Delegate::ExceptionHandlerServerException |
( |
HANDLE | process, |
|
|
WinVMAddress | exception_information_address, |
|
|
WinVMAddress | debug_critical_section_address ) |
|
pure virtual |
Called when the client has signalled that it has encountered an exception and so wants a crash dump to be taken.
- Parameters
-
| [in] | process | A handle to the client process. Ownership of the lifetime of this handle is not passed to the delegate. |
| [in] | exception_information_address | The address in the client's address space of an ExceptionInformation structure. |
| [in] | debug_critical_section_address | The address in the client's address space of a CRITICAL_SECTION allocated with a valid .DebugInfo field, or 0 if unavailable. |
- Returns
- The exit code that should be used when terminating the client process.
Implemented in crashpad::CrashReportExceptionHandler.
◆ ExceptionHandlerServerStarted()
| virtual void crashpad::ExceptionHandlerServer::Delegate::ExceptionHandlerServerStarted |
( |
| ) |
|
|
pure virtual |
◆ HandleException()
| virtual bool crashpad::ExceptionHandlerServer::Delegate::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 ) |
|
pure virtual |
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.
Implemented in crashpad::CrashReportExceptionHandler, and crashpad::CrosCrashReportExceptionHandler.
◆ HandleExceptionWithBroker()
| virtual bool crashpad::ExceptionHandlerServer::Delegate::HandleExceptionWithBroker |
( |
pid_t | client_process_id, |
|
|
uid_t | client_uid, |
|
|
const ExceptionHandlerProtocol::ClientInformation & | info, |
|
|
int | broker_sock, |
|
|
UUID * | local_report_id = nullptr ) |
|
pure virtual |
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.
Implemented in crashpad::CrashReportExceptionHandler, and crashpad::CrosCrashReportExceptionHandler.
The documentation for this class was generated from the following files:
- handler/linux/exception_handler_server.h
- util/win/exception_handler_server.h
- util/win/exception_handler_server.cc