|
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. More...
|
|
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. More...
|
|
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...
|
|
◆ 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.
◆ 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.cc