mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 14:06:33 +00:00
linux: Update overview design
Bug: crashpad:294 Change-Id: Ie84b56bd429320dab1d232d0b19c6378b7d3755a Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165627 Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
parent
ec105797e6
commit
9fea20040e
@ -240,7 +240,24 @@ of command line arguments in this mode.
|
|||||||
|
|
||||||
#### Linux/Android
|
#### Linux/Android
|
||||||
|
|
||||||
TODO(mmentovai): describe this. See this preliminary doc.
|
On Linux, a registration is a connected socket pair between a client process and
|
||||||
|
the Crashpad handler. This socket pair may be private or shared among many
|
||||||
|
client processes.
|
||||||
|
|
||||||
|
##### Private Connections
|
||||||
|
|
||||||
|
Private connections are the default registration mode when starting the handler
|
||||||
|
process in response to a crash or on behalf of another client. This mode is
|
||||||
|
required to use a ptrace broker, which is in turn required to trace Android
|
||||||
|
isolated processes.
|
||||||
|
|
||||||
|
##### Shared Connections
|
||||||
|
|
||||||
|
Shared connections are the default mode when using a long-lived handler. The
|
||||||
|
same connected socket pair may be shared among any number of clients. The socket
|
||||||
|
pair is created by the first process to start the handler at which point the
|
||||||
|
client socket end may be shared with other clients by any convenient means (e.g.
|
||||||
|
inheritance).
|
||||||
|
|
||||||
### Capturing Exceptions
|
### Capturing Exceptions
|
||||||
|
|
||||||
@ -290,8 +307,16 @@ here.](https://crashpad.chromium.org/bug/133)
|
|||||||
|
|
||||||
#### Linux/Android
|
#### Linux/Android
|
||||||
|
|
||||||
TODO(mmentovai): describe this. See [this preliminary
|
On Linux, exceptions are dispatched as signals to the crashing thread. Crashpad
|
||||||
doc.](https://goto.google.com/crashpad-android-dd)
|
signal handlers will send a message over the socket to the Crashpad handler
|
||||||
|
notifying it of the crash and the location of exception information to be read
|
||||||
|
from the crashing process. When using a shared socket connection, communication
|
||||||
|
is entirely one-way. The client sends its dump request to the handler and then
|
||||||
|
waits until the handler responds with a SIGCONT or a timeout occurs. When using
|
||||||
|
a private socket connection, the handler may respond over the socket to
|
||||||
|
communicate with a ptrace broker process. The broker is forked from the crashing
|
||||||
|
process, executes ptrace requests against the crashing process, and sends the
|
||||||
|
information over the socket to the handler.
|
||||||
|
|
||||||
### The CrashpadInfo structure
|
### The CrashpadInfo structure
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user