OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 // See the License for the specific language governing permissions and | 12 // See the License for the specific language governing permissions and |
13 // limitations under the License. | 13 // limitations under the License. |
14 | 14 |
15 :doctype: manpage | 15 :doctype: manpage |
16 | 16 |
17 = crashpad_handler(8) | 17 = crashpad_handler(8) |
18 | 18 |
19 == Name | 19 == Name |
20 | 20 |
21 crashpad_handler - Crashpad’s exception handler server | 21 crashpad_handler - Crashpad’s exception handler server |
22 | 22 |
23 == Synopsis | 23 == Synopsis |
24 | 24 |
25 [verse] | 25 [verse] |
26 *crashpad_handler* ['OPTION…'] | 26 *crashpad_handler* ['OPTION…'] |
27 | 27 |
28 == Description | 28 == Description |
29 | 29 |
30 This program is Crashpad’s main exception-handling server. This server is | 30 This program is Crashpad’s main exception-handling server. It is responsible for |
31 normally started by its initial client, and it performs a handshake with this | 31 catching exceptions, writing crash reports, and uploading them to a crash report |
32 client via a pipe established by the client that is inherited by the server, | 32 collection server. Uploads are disabled by default, and can only be enabled by a |
33 referenced by the *--handshake-fd* argument. During the handshake, the server | 33 Crashpad client using the Crashpad client library, typically in response to a |
34 furnishes the client with a send right that the client may use as an exception | 34 user requesting this behavior. |
35 port. The server retains the corresponding receive right, which it monitors for | 35 |
36 exception messages. When the receive right loses all senders, the server exits. | 36 This server is normally started by its initial client, and it performs a |
| 37 handshake with this client via a pipe established by the client that is |
| 38 inherited by the server, referenced by the *--handshake-fd* argument. During the |
| 39 handshake, the server furnishes the client with a send right that the client may |
| 40 use as an exception port. The server retains the corresponding receive right, |
| 41 which it monitors for exception messages. When the receive right loses all |
| 42 senders, the server exits after allowing any upload in progress to complete. |
37 | 43 |
38 It is not normally appropriate to invoke this program directly. Usually, it will | 44 It is not normally appropriate to invoke this program directly. Usually, it will |
39 be invoked by a Crashpad client using the Crashpad client library. Arbitrary | 45 be invoked by a Crashpad client using the Crashpad client library. Arbitrary |
40 programs may be run with a Crashpad handler by using run_with_crashpad(1) to | 46 programs may be run with a Crashpad handler by using run_with_crashpad(1) to |
41 establish the Crashpad client environment before running a program. | 47 establish the Crashpad client environment before running a program. |
42 | 48 |
43 == Options | 49 == Options |
44 *-h*, *--handshake-fd*='FD':: | 50 *--annotation*='KEY=VALUE':: |
| 51 Sets a process-level annotation mapping 'KEY' to 'VALUE' in each crash report |
| 52 that is written. This option may appear zero, one, or multiple times. |
| 53 + |
| 54 Most annotations should be provided by the Crashpad client as module-level |
| 55 annotations instead of process-level annotations. Module-level annotations are |
| 56 more flexible in that they can be modified and cleared during the client |
| 57 program’s lifetime. Module-level annotations can be set via the Crashpad client |
| 58 library. Process-level annotations are useful for annotations that the |
| 59 collection server requires be present, that have fixed values, and for cases |
| 60 where a program that does not use the Crashpad client library is being |
| 61 monitored. |
| 62 + |
| 63 Breakpad-type collection servers only require the +"prod"+ and +"ver"+ |
| 64 annotations, which should be set to the product name or identifier and product |
| 65 version, respectively. It is unusual to specify other annotations as |
| 66 process-level annotations via this argument. |
| 67 |
| 68 *--database*='PATH':: |
| 69 Use 'PATH' as the path to the Crashpad crash report database. This option is |
| 70 required. Crash reports are written to this database, and if uploads are |
| 71 enabled, uploaded from this database to a crash report collection server. If the |
| 72 database does not exist, it will be created, provided that the parent directory |
| 73 of 'PATH' exists. |
| 74 |
| 75 *--handshake-fd*='FD':: |
45 Perform the handshake with the initial client on the file descriptor at 'FD'. | 76 Perform the handshake with the initial client on the file descriptor at 'FD'. |
| 77 This option is required. |
| 78 |
| 79 *--url*='URL':: |
| 80 If uploads are enabled, sends crash reports to the Breakpad-type crash report |
| 81 collection server at 'URL'. Uploads are disabled by default, and can only be |
| 82 enabled for a database by a Crashpad client using the Crashpad client library, |
| 83 typically in response to a user requesting this behavior. If this option is not |
| 84 specified, this program will behave as if uploads are disabled. |
46 | 85 |
47 *--help*:: | 86 *--help*:: |
48 Display help and exit. | 87 Display help and exit. |
49 | 88 |
50 *--version*:: | 89 *--version*:: |
51 Output version information and exit. | 90 Output version information and exit. |
52 | 91 |
53 == Exit Status | 92 == Exit Status |
54 | 93 |
55 *0*:: | 94 *0*:: |
56 Success. | 95 Success. |
57 | 96 |
58 *1*:: | 97 *1*:: |
59 Failure, with a message printed to the standard error stream. | 98 Failure, with a message printed to the standard error stream. |
60 | 99 |
61 == See Also | 100 == See Also |
62 | 101 |
63 catch_exception_tool(1), | 102 catch_exception_tool(1), |
64 generate_dump(1), | 103 generate_dump(1), |
65 run_with_crashpad(1) | 104 run_with_crashpad(1) |
66 | 105 |
67 include::../../tools/man_footer.ad[] | 106 include::../../tools/man_footer.ad[] |
OLD | NEW |