Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: handler/crashpad_handler.ad

Issue 1428803006: win: Implement CrashpadClient::StartHandler() (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Address review feedback; add a test Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « client/crashpad_client_win.cc ('k') | handler/main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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,
(...skipping 15 matching lines...) Expand all
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. It is responsible for 30 This program is Crashpad’s main exception-handling server. It is responsible for
31 catching exceptions, writing crash reports, and uploading them to a crash report 31 catching exceptions, writing crash reports, and uploading them to a crash report
32 collection server. Uploads are disabled by default, and can only be enabled by a 32 collection server. Uploads are disabled by default, and can only be enabled by a
33 Crashpad client using the Crashpad client library, typically in response to a 33 Crashpad client using the Crashpad client library, typically in response to a
34 user requesting this behavior. 34 user requesting this behavior.
35 35
36 This server is normally started by its initial client, and it performs a 36 On OS X, this server is normally started by its initial client, and it performs
37 handshake with this client via a pipe established by the client that is 37 a 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 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 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, 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 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. 42 senders, the server exits after allowing any upload in progress to complete.
43 43
44 On Windows, clients register with this server by communicating with it via the
45 named pipe identified by the *--pipe-name* argument. During registration, a
46 client provides the server with an OS event object that it will signal should it
47 crash. The server obtains the client’s process handle and waits on the crash
48 event object for a crash, as well as the client’s process handle for the client
49 to exit cleanly without crashing. When the server loses all clients and
50 *--persistent* is not specified, it exits after allowing any upload in progress
51 to complete.
52
44 It is not normally appropriate to invoke this program directly. Usually, it will 53 It is not normally appropriate to invoke this program directly. Usually, it will
45 be invoked by a Crashpad client using the Crashpad client library. Arbitrary 54 be invoked by a Crashpad client using the Crashpad client library. Arbitrary
46 programs may be run with a Crashpad handler by using 55 programs may be run with a Crashpad handler by using
47 man_link:run_with_crashpad[1] to establish the Crashpad client environment 56 man_link:run_with_crashpad[1] to establish the Crashpad client environment
48 before running a program. 57 before running a program.
49 58
50 == Options 59 == Options
51 *--annotation*='KEY=VALUE':: 60 *--annotation*='KEY=VALUE'::
52 Sets a process-level annotation mapping 'KEY' to 'VALUE' in each crash report 61 Sets a process-level annotation mapping 'KEY' to 'VALUE' in each crash report
53 that is written. This option may appear zero, one, or multiple times. 62 that is written. This option may appear zero, one, or multiple times.
(...skipping 16 matching lines...) Expand all
70 Use 'PATH' as the path to the Crashpad crash report database. This option is 79 Use 'PATH' as the path to the Crashpad crash report database. This option is
71 required. Crash reports are written to this database, and if uploads are 80 required. Crash reports are written to this database, and if uploads are
72 enabled, uploaded from this database to a crash report collection server. If the 81 enabled, uploaded from this database to a crash report collection server. If the
73 database does not exist, it will be created, provided that the parent directory 82 database does not exist, it will be created, provided that the parent directory
74 of 'PATH' exists. 83 of 'PATH' exists.
75 84
76 *--handshake-fd*='FD':: 85 *--handshake-fd*='FD'::
77 Perform the handshake with the initial client on the file descriptor at 'FD'. 86 Perform the handshake with the initial client on the file descriptor at 'FD'.
78 This option is required. This option is only valid on Mac OS X. 87 This option is required. This option is only valid on Mac OS X.
79 88
89 *--persistent*::
90 Continue running after the last client exits. If this option is not specified,
91 this server will exit as soon as it has no clients, although on startup, it
92 always waits for at least one client to connect. This option is only valid on
93 Windows.
94
80 *--pipe-name*='PIPE':: 95 *--pipe-name*='PIPE'::
81 Listen on the given pipe name for connections from clients. 'PIPE' must be of 96 Listen on the given pipe name for connections from clients. 'PIPE' must be of
82 the form +\\.\pipe\<somename>+. This option is required. This option is only 97 the form +\\.\pipe\<somename>+. This option is required. This option is only
83 valid on Windows. 98 valid on Windows.
84 99
85 *--reset-own-crash-exception-port-to-system-default*:: 100 *--reset-own-crash-exception-port-to-system-default*::
86 Causes the exception handler server to set its own crash handler to the system 101 Causes the exception handler server to set its own crash handler to the system
87 default before beginning operation. This is only expected to be useful in cases 102 default before beginning operation. This is only expected to be useful in cases
88 where the server inherits an inappropriate crash handler from its parent 103 where the server inherits an inappropriate crash handler from its parent
89 process. This option is only valid on OS X. Use of this option is discouraged. 104 process. This option is only valid on OS X. Use of this option is discouraged.
(...skipping 21 matching lines...) Expand all
111 Failure, with a message printed to the standard error stream. 126 Failure, with a message printed to the standard error stream.
112 127
113 == See Also 128 == See Also
114 129
115 man_link:catch_exception_tool[1], 130 man_link:catch_exception_tool[1],
116 man_link:crashpad_database_util[1], 131 man_link:crashpad_database_util[1],
117 man_link:generate_dump[1], 132 man_link:generate_dump[1],
118 man_link:run_with_crashpad[1] 133 man_link:run_with_crashpad[1]
119 134
120 include::../doc/support/man_footer.ad[] 135 include::../doc/support/man_footer.ad[]
OLDNEW
« no previous file with comments | « client/crashpad_client_win.cc ('k') | handler/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698